Travis Build เผยให้เห็นถึง API ที่คนงานเทรวิสและบอร์ดงานใช้เพื่อสร้างสคริปต์ทุบตีซึ่งจะถูกคัดลอกไปยังสภาพแวดล้อมการดำเนินงานและดำเนินการโดยมีผลลัพธ์ที่ส่งกลับไปยังเทรวิส
ฐานรหัสนี้ผ่านการพัฒนาซ้ำหลายครั้งและเดิมถูกสกัดจากคนงาน Travis ดั้งเดิมก่อนที่จะใช้แบบฟอร์มปัจจุบัน
วิ่ง
bundle exec rake spec
คุณสามารถตั้งค่า Travis-Build เป็นปลั๊กอินสำหรับไคลเอนต์บรรทัดคำสั่ง:
git clone https://github.com/travis-ci/travis-build
cd travis-build
mkdir -p ~ /.travis
ln -s $PWD ~ /.travis/travis-build
gem install bundler
bundle install --gemfile ~ /.travis/travis-build/Gemfile
bundler binstubs travis
ตอนนี้คุณจะสามารถเรียกใช้ travis compile
ซึ่งสร้างสคริปต์ทุบตีที่เรียกใช้งานที่ระบุยกเว้นว่าไม่มีการกำหนดตัวแปรสภาพแวดล้อมที่ปลอดภัยและไม่ได้รับการพิจารณาการขยายเมทริกซ์การสร้างเช่น::
~ /.travis/travis-build/bin/travis compile
สคริปต์ทุบตีที่สร้างขึ้นโดยคำสั่งคอมไพล์มีคำสั่งที่เปลี่ยนแปลงระบบที่ดำเนินการ (เช่นแก้ไข /etc/resolv.conf
ติดตั้งซอฟต์แวร์) บางคนต้องการสิทธิพิเศษ sudo
และพวกเขาไม่ได้เลิกทำอย่างง่ายดาย
ขอแนะนำอย่างยิ่งให้คุณเรียกใช้สิ่งนี้ในคอนเทนเนอร์หรือสภาพแวดล้อมเสมือนจริงอื่น ๆ
คำสั่งสามารถเรียกใช้ใน 3 วิธี:
หากไม่มีการโต้แย้งมันจะสร้างและพิมพ์สคริปต์ทุบตีจากการกระทำใน .travis.yml
ในท้องถิ่นโดยไม่คำนึงถึงค่า env
และ matrix
( travis-build
ไม่สามารถขยายปุ่มเหล่านี้ได้อย่างถูกต้อง)
~ /.travis/travis-build/bin/travis compile
ด้วยจำนวนเต็มเดียวมันจะสร้างสคริปต์สำหรับการสร้างที่กำหนด (หรืองานแรกของเมทริกซ์การสร้างนั้น)
~ /.travis/travis-build/bin/travis compile 8
ด้วยการโต้แย้งของแบบฟอร์ม MN
มันจะสร้างสคริปต์ทุบตีสำหรับงาน MN
~ /.travis/travis-build/bin/travis compile 351.2
สคริปต์ที่สร้างขึ้นสามารถใช้ในคอนเทนเนอร์หรือสภาพแวดล้อมเสมือนจริงที่เลียนแบบสภาพแวดล้อมการสร้างของ Travis CI อย่างใกล้ชิดเพื่อช่วยคุณในการดีบักความล้มเหลวในการสร้าง คำแนะนำสำหรับการเรียกใช้คอนเทนเนอร์ดังกล่าวมีอยู่ในเอกสาร Travis CI
นอกจากปลั๊กอิน Travis CLI แล้วคุณยังสามารถเรียกใช้สคริปต์ CLI แบบสแตนด์อโลน:
bundle exec script/compile < payload.json > build.sh
หากคุณต้องการเรียกใช้ Travis-Build ในเครื่องบนเครื่องของคุณ (เช่นการโต้ตอบกับคนงาน) คุณสามารถเรียกใช้เป็นคอนเทนเนอร์ Docker ที่มีนักเทียบท่า: compose:
ก่อนอื่นสร้างภาพ:
docker-compose build web
ประการที่สองเรียกใช้ภาพ:
docker-compose run web
คุณอาจต้องการทำงานด้วยการตั้งค่าที่แตกต่างกันสำหรับการพัฒนาในท้องถิ่น การแสดงต่อไปนี้แสดงให้เห็นว่า travis-build
ในสภาพแวดล้อม development
ส่งต่อพอร์ต 4000 ของ Docker Image ไปยังพอร์ต 4000 ของโฮสต์:
docker-compose run -e RACK_ENV=development -p 4000:4000 web
เพื่อสร้างและเรียกใช้ สิ่งนี้จะสร้างคอนเทนเนอร์ที่มีเนื้อหาของที่เก็บ travis-build
ในไดเรกทอรี /usr/src/app
และเริ่มต้นคุณในไดเรกทอรีนั้น จากตรงนั้นคุณสามารถเรียกใช้คำสั่งที่แสดงในส่วน Addon สำหรับส่วน Travis CLI เพื่อให้คำสั่งคอมไพล์พร้อมใช้งานสำหรับ Travis CLI ภายในคอนเทนเนอร์
ดูไฟล์ใบอนุญาต
ลิขสิทธิ์ (C) 2011-2016 ทีมพัฒนา Travis CI