ตัวแปรสภาพแวดล้อม
- USERNAME: ชื่อผู้ใช้บัญชี SSL.com (ที่จำเป็น)
- รหัสผ่าน: รหัสผ่านบัญชี SSL.com (จำเป็น)
- ข้อมูลประจำตัว_ID: รหัสประจำตัวสำหรับใบรับรองการลงนาม หากละเว้น credential_id และผู้ใช้มีใบรับรองการลงชื่อรหัส eSigner เพียงใบเดียว CodeSignTool จะใช้ค่าเริ่มต้นตามนั้น หากผู้ใช้มีใบรับรองการลงนามโค้ดมากกว่าหนึ่งรายการ พารามิเตอร์นี้บังคับ (ที่จำเป็น)
- TOTP_ความลับ: OAuth TOTP ความลับ คุณสามารถเข้าถึงข้อมูลรายละเอียดเกี่ยวกับ https://www.ssl.com/how-to/automate-esigner-ev-code-signing (จำเป็น)
- สิ่งแวดล้อม_NAME : สภาพแวดล้อม 'TEST' หรือ 'PROD' (ที่จำเป็น)
ปัจจัยการผลิต
- input_file_path: เส้นทางของรหัสวัตถุที่จะลงนาม (ที่จำเป็น)
- output_dir_path: ไดเร็กทอรีที่จะเขียนโค้ดอ็อบเจ็กต์ หากละเว้น output_path ไฟล์ที่ระบุใน -file_path จะถูกเขียนทับด้วยไฟล์ที่ลงนาม
Java Code (Maven) JAR Signing ตัวอย่างเวิร์กโฟลว์
สร้างโครงการ
ภายใต้โครงการสร้างไฟล์สำหรับ Travis
กำหนดองค์ประกอบของเวิร์กโฟลว์
- วางสถาปัตยกรรม CPU เพื่อรันงานบน
ซุ้มประตู: amd64
- ภาษาเริ่มต้นเพื่อเรียกใช้การทดสอบใน
ภาษา: java
- ระบุระบบปฏิบัติการที่จะรันงานบน
ระบบปฏิบัติการ: linux
- เขียนการกระจาย Ubuntu ที่จะใช้
dist: ไบโอนิค
- กำหนดตัวแปรสภาพแวดล้อมทั่วโลก คุณสมบัติระดับงานแทนที่ตัวแปรส่วนกลาง
- โปรดทราบว่าจำเป็นต้องใช้ TERM=dumb สำหรับอินสแตนซ์โปรเจ็กต์ Gradle เท่านั้น
- ภายใต้ ENVIRONMENT_NAME ให้วาง "TEST" สำหรับการลงนามทดสอบ และ "PROD" สำหรับการลงนามจริง
สิ่งแวดล้อม:
ทั่วโลก:
– PROJECT_NAME="สวัสดีโลก"
– PROJECT_VERSION =”0.0.1″
– TERM = ใบ้
– ENVIRONMENT_NAME=”ทดสอบ”
- ระบุลำดับของขั้นตอน งานทั้งหมดในสเตจเดียวต้องทำให้เสร็จก่อนดำเนินการสเตจถัดไป
ขั้นตอน:
- สร้าง
- เข้าสู่ระบบ
ร่างขั้นตอนการสร้าง
งาน:
รวมถึง:
– เวที: สร้าง
- ชื่องาน
ชื่อ: build-maven
- การกระจาย Ubuntu ที่จะใช้
dist: ไบโอนิค
- ใช้คำสั่ง docker สำหรับการลงนาม
บริการ:
– นักเทียบท่า
- ใช้ dotnet-cli เพื่อสร้างโครงการ
ภาษา: java
- เวอร์ชัน Java เพื่อสร้างโครงการ
jdk:
– oraclejdk17
- แคช m2 ไดเรกทอรีเพื่อเพิ่มความเร็ว
แคช:
ไดเรกทอรี:
– $บ้าน/.m2
- เขียนสคริปต์ Before เพื่อรันก่อนสร้างโครงการ
before_script:
# สร้างไดเรกทอรีสำหรับสิ่งประดิษฐ์
– mkdir -p ${TRAVIS_BUILD_DIR}/สิ่งประดิษฐ์
– mkdir -p ${TRAVIS_BUILD_DIR}/แพ็คเกจ
# ตั้งค่าตัวเลือกการสร้าง Maven
– ส่งออก MAVEN_CLI_OPTS =”–batch-mode –errors –fail-at-end –show-version -DinstallAtEnd=true -DdeployAtEnd=true”
- เขียนสคริปต์เพื่อสร้างโครงการ
- ในเวิร์กโฟลว์ตัวอย่างการเซ็นชื่อนี้ มีการสร้างโครงการหลายประเภท นี่คือสาเหตุที่ไฟล์ประเภทโปรเจ็กต์ต่างๆ ถูกเก็บไว้โดยการสร้างโฟลเดอร์ย่อย โฟลเดอร์ย่อยชื่อ 'java' ถูกสร้างขึ้นสำหรับโปรเจ็กต์ Java ในภาพหน้าจอสาธิตด้านบน ไม่จำเป็นต้องสร้างโฟลเดอร์ย่อยชื่อ 'java' ดังนั้นจึงไม่รวมอยู่ในสคริปต์
สคริปต์:
# สร้างโครงการ Maven ด้วยตัวเลือก Maven
– mvn $MAVEN_CLI_OPTS ติดตั้งใหม่ทั้งหมด -f java/pom.xml
# คัดลอกสิ่งประดิษฐ์ที่สร้างขึ้นไปยังไดเรกทอรีสิ่งประดิษฐ์
– ซีพี java/target/${PROJECT_NAME}-${PROJECT_VERSION}.jar ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar
- ร่างวิธีการระบุรายการไฟล์และไดเร็กทอรีที่ควรแนบไปกับงานหากทำสำเร็จ
พื้นที่ทำงาน:
สร้าง:
ชื่อ: maven-jar-artifacts
เส้นทาง:
# บันทึกสิ่งประดิษฐ์เพื่อใช้ลงนามงาน
– ${TRAVIS_BUILD_DIR}/packages/${PROJECT_NAME}.jar
ร่างขั้นตอนป้าย
– เวที: ป้าย
- เขียนชื่องาน
ชื่อ: sign-jar-file
- วางการแจกจ่าย Ubuntu เพื่อใช้
dist: ไบโอนิค
- ใช้คำสั่ง Docker ในการเซ็นชื่อ
บริการ:
– นักเทียบท่า
- กำหนดตัวแปรสภาพแวดล้อมสำหรับงานเฉพาะ
- ในภาพหน้าจอด้านบน คำสั่ง sign ถูกกำหนดโดยตรงในสคริปต์สัญญาณและไม่ได้อยู่ภายใต้ตัวแปรสภาพแวดล้อม บีOTH เมธอดสามารถเซ็นชื่ออย่างถูกต้องด้วย TravisCI
สิ่งแวดล้อม:
คำสั่ง=”สัญญาณ”
- ใช้ dotnet-cli เพื่อสร้างโครงการ
ภาษา: java
- เวอร์ชัน Java เพื่อสร้างโครงการ
jdk:
– oraclejdk17
- ก่อนรันสคริปต์ก่อนสร้างโครงการ
before_script:
# สร้างไดเรกทอรีสำหรับสิ่งประดิษฐ์
– mkdir -p ${TRAVIS_BUILD_DIR}/สิ่งประดิษฐ์
– mkdir -p ${TRAVIS_BUILD_DIR}/แพ็คเกจ
- สคริปต์สำหรับสร้างโครงการ
สคริปต์:
# Docker Pull CodeSigner ภาพนักเทียบท่า
– นักเทียบท่าดึง ghcr.io/sslcom/codesigner:latest
# ลงนามสิ่งประดิษฐ์ด้วย CodeSigner Docker image
– docker run -i –rm –dns 8.8.8.8 – โฮสต์เครือข่าย – ปริมาณ ${TRAVIS_BUILD_DIR}/packages:/codesign/examples
–ปริมาณ ${TRAVIS_BUILD_DIR}/artifacts:/codesign/output
-e USERNAME=${USERNAME} -e รหัสผ่าน=${PASSWORD} -e CREDENTIAL_ID=${CREDENTIAL_ID} -e TOTP_SECRET=${TOTP_SECRET}
-e ENVIRONMENT_NAME=${ENVIRONMENT_NAME} ghcr.io/sslcom/codesigner:latest ${COMMAND}
-input_file_path=/codesign/examples/${PROJECT_NAME}.jar -output_dir_path=/codesign/output
- ใช้เพื่อระบุรายการไฟล์และไดเร็กทอรีที่ควรแนบไปกับงานหากทำสำเร็จ
พื้นที่ทำงาน:
ใช้:
– maven-jar-สิ่งประดิษฐ์
สร้าง:
ชื่อ: ลงนาม jar-file
เส้นทาง:
# บันทึกสิ่งประดิษฐ์ที่ลงนาม
– ${TRAVIS_BUILD_DIR}/artifacts/${PROJECT_NAME}.jar
กำหนดตัวแปรสภาพแวดล้อม
ไปที่ Travis แล้วคลิก การตั้งค่า ปุ่ม
เพิ่มค่าสำหรับแต่ละตัวแปร
เลื่อนลงไปที่ ตัวแปรสภาพแวดล้อม ส่วนแล้วคลิกปุ่มเพิ่มเพื่อเพิ่มค่าให้กับตัวแปรแต่ละตัว
สร้าง Github repo
ค้นหาคำสั่งพุชบน Github
เขียนคำสั่งพุชที่เทอร์มินัลบนตัวแก้ไขของคุณ
รอให้งานสร้างเสร็จ
บน Travis งานสร้างควรเริ่มต้นโดยอัตโนมัติหลังจากที่คุณกดรหัสแล้ว
เริ่มขั้นตอนการเซ็นโค้ด
คลิก ลงชื่อ ส่วนสำหรับ CodeSignTool เพื่อเริ่มกระบวนการลงนาม
รอให้เครื่องเสมือนทำการบูทเสร็จ
ยืนยันว่าการเซ็นรหัสสำเร็จหรือไม่
ตัวอย่าง Travis CI Pipeline
ตรวจสอบตัวอย่างไปป์ไลน์ Travis CI ที่เราสร้างขึ้น github.com/SSLcom/codesigner-travisci-sampleคู่มือการรวมการเซ็นชื่อระยะไกลสำหรับบริการ CI/CD อื่นๆ
- การผสานรวมการเซ็นชื่อรหัสบนคลาวด์กับ CircleCI
- การผสานรวมการเซ็นชื่อรหัสบนคลาวด์กับ GitHub Actions
- การผสานรวมการเซ็นชื่อรหัสบนคลาวด์กับ GitLab CI
- การผสานรวมการเซ็นชื่อรหัสบนคลาวด์กับ Jenkins CI
- การรวมการลงนามรหัสบนคลาวด์กับ Azure DevOps
- การรวมการลงนามรหัสบนคลาวด์กับ BitBucket
- ระบบอัตโนมัติลงนามรหัสบนคลาวด์ด้วยบริการ CI/CD
ต้องการโซลูชันที่กำหนดเองหรือไม่
ด้วยความรู้จากผู้เชี่ยวชาญและเจ้าหน้าที่สนับสนุนระดับห้าดาว เราพร้อมและยินดีที่จะทำงานร่วมกับคุณเกี่ยวกับโซลูชันแบบกำหนดเองหรือส่วนลดการลงนามจำนวนมากในระดับองค์กร กรอกแบบฟอร์มด้านล่าง แล้วเราจะติดต่อกลับไป