Yerel olarak travis-ci nasıl çalıştırılır


524

Bir projeye yeni katıldım ve travis-ci'de yeniyim. Her küçük değişikliği .travis.yml dosyasına ve yapıyı çalıştırmak için kaynağa yaptığım her küçük değişikliği zorlamak zorunda kalmam. Jenkins ile jenkinleri indirebilir ve yerel olarak çalıştırabilirsiniz. Travis böyle bir şey sunuyor mu?

Not: Travis-ci cli'yu gördüm ve indirdim, ancak tek yaptığı, API'sını çağırmak, daha sonra github repo'ma bağlanıyor, bu yüzden itmezsem, yeniden başlatmamın önemi yok son yapı.


3
Travis CI'yi çalıştırmak zorunda kalmadan testleri yerel olarak çalıştırabilmelisiniz. Hangi komutu çalıştıracağınızı görmek için .travis.yml dosyasının "komut dosyası" bölümüne bakın.
Konstantin Haase

69
Ancak sadece testleri çalıştırmak sorun değildir - genellikle bir Travis derlemesi install:bölümdeki kurulum ve yükleme adımları nedeniyle başarısız olur ve muhtemelen sorunun daha fazla endişe duyduğu konular budur.
Brandon Rhodes

4
Karmaşık projelerde çeşitli nedenlerin (örn. Çalışma zamanının farklı nokta sürümleri veya sistem etkileşimleri, kendinden zamana duyarlı testler, örneğin zaman aşımı testleri vb.) Testlerin bazen yerel bir ortamda ve Travis CI üzerinde farklı davranabileceğini ekleyeceğim. .
apartmentspainter

Yanıtlar:


200

Bu işlem, bilgisayarınızdaki herhangi bir Travis derleme işini tamamen yeniden oluşturmanıza olanak tanır. Ayrıca, işlemi istediğiniz zaman durdurabilir ve hata ayıklayabilirsiniz. Aşağıda php-school / cli-menu # 191.1 işinin sonuçlarını mükemmel bir şekilde yeniden ürettiğim bir örnek .

Ön şartlar

  • GitHub'da herkese açık repo var
  • Travis üzerinde en az bir bina çalıştırdın
  • Bilgisayarınızda Docker kurulu

Oluşturma ortamını ayarlama

Referans: https://docs.travis-ci.com/user/common-build-problems/

  1. Kendi geçici oluşturma kimliğinizi oluşturun

    BUILDID="build-$RANDOM"
    
  2. Derleme günlüğünü görüntüleyin , İŞÇİ BİLGİLERİ için daha fazla göster düğmesini açın ve INSTANCE satırını bulun, buraya yapıştırın ve çalıştırın (iki nokta üst üste işaretinden sonra etiketi en yeni olanla değiştirin ) :

    INSTANCE="travisci/ci-garnet:packer-1512502276-986baf0"
    
  3. Başsız sunucuyu çalıştırın

    docker run --name $BUILDID -dit $INSTANCE /sbin/init
    
  4. Ekli istemciyi çalıştırın

    docker exec -it $BUILDID bash -l
    

İşi yürütün

Şimdi Travis ortamınızın içindesiniz. Çalıştırmaksu - travisBaşlamak için .

Bu adım iyi tanımlanmıştır, ancak daha sıkıcı ve manueldir. Travis'in ortamda çalıştırdığı her komutu bulacaksınız. Bunu yapmak için, sağ sütunda benzer bir etiketi olan her şeyi arayın 0.03s.

Sol tarafta gerçek komutları göreceksiniz. Bu komutları sırayla çalıştırın.

Sonuç

Şimdi historykomutu çalıştırmak için iyi bir zaman . İşlemi yeniden başlatabilir ve güncelleştirilmiş bir kod tabanına karşı aynı sınamayı çalıştırmak için bu komutları yeniden oynatabilirsiniz.

  • Reponuz özelse: ssh-keygen -t rsa -b 4096 -C "YOUR EMAIL REGISTERED IN GITHUB"o zaman cat ~/.ssh/id_rsa.pubve buraya tıklayın anahtar eklemek
  • Bilginize: şunları yapabilirsiniz git pull DoHack'in içinden, GitHub'a göndermeden önce dev kutusundan taahhüt yüklemesi
  • Travis'in çalıştırdığı komutları değiştirmek istiyorsanız, bunun nasıl bir işe dönüştüğünü anlamak SİZİN sorumluluğunuzdur. .travis.yml .
  • Docker ortamını nasıl temizleyeceğimi bilmiyorum, karmaşık görünüyor, belki bu hafızaya sızıyor

22
Altındaki günlüklerde instance:geçerli bir liman işçisi görüntü yolu göremiyorum, sadece benzer bir şey travis-ci-garnet-trusty-1512502259-986baf0. Denendi travisci/ci-garnet:$INSTANCEve travisci/$INSTANCE- çalışmıyor, resmi bulamıyor. Ayrıca sadece postfix (yani travisci/ci-garnet:packer-1512502259-986baf0) almak işe yaramadı.
Roy Shilkrot

4
Aynı sorunu yaşıyorum - örnek bilgisinde belirtilen görüntü indirilemiyor. Dahası, Travis belgelerindetravisci/ci-garnet:packer-1512502276-986baf0 önerilen görüntüyü denedim . Bu kullanılabilir, ancak modası geçmiş. Örneğin, CMake, Travis'te bulunandan çok daha eskidir. Son altı aydır Docker Hub'a yeni bir sürüm yüklenmemişken , daha önce ayda birçok güncelleme vardı. ci-garnet
skalee

7
Referans bağlantınız artık çalışmıyor - yani, 'Konteyner Tabanlı Bir Docker Görüntüsünü Yerel Olarak Çalıştırma' bölümü bu sayfadan kaldırıldı. Belki de örnek çıktısındaki fark sudo: requiredayarlanmamış olmasından kaynaklanıyor ? Şu anki bir yapımda travisci / ci-sardonyxtravis-ci-sardonyx-xenial-1547455603-2c98a19 ile eşleştirebileceğimi görüyorum: packer-1547455648-2c98a19
maxschlepzig

4
docker hub'da travisci / ci-garnet'in en son sürümünü kullanmam (travisci / ci-garnet: packer-1515445631-7dfb2e1) hile yaptı
taleb

3
Dile özgü bir travis örneği üzerinde çalışıyorsanız, python gibi özel görüntüyü de kullanabilirsiniz .
Zaccharie Ramzi

162

Travis-ci, liman işleyici kullanan yeni bir konteyner tabanlı altyapı sunar. Bir travisci ci derlemesini yerel olarak yeniden oluşturarak gidermeye çalışıyorsanız bu çok yararlı olabilir. Bu, Travis CI'nın belgelerinden alınmıştır .

Docker Görüntüsünde Yerel Olarak Sorun Giderme

Bir derlemedeki sorunu izlemede sorun yaşıyorsanız, derlemenin yerel olarak çalıştırılmasına yardımcı olur. Bunu yapmak için konteyner tabanlı altyapımızı kullanmanız gerekir (yani, sudo: falsesizin .travis.ymliçindedir) ve Travis CI'de hangi Docker görüntüsünü kullandığınızı bilmeniz gerekir.

Kapsayıcı Tabanlı Docker Görüntüsünü Yerel Olarak Çalıştırma

  1. Docker Engine'i indirin ve yükleyin .
  2. Docker Hub'dan bir resim seçin . Dile özgü bir görüntü seçimi kullanmıyorsanız ci-ruby. Bir terminal açın ve resim URL'sini kullanarak etkileşimli bir Docker oturumu başlatın:

    docker run -it travisci/ubuntu-ruby:18.04 /bin/bash
    
  3. Geçin traviskullanıcı:

    su - travis
    
  4. Git deponuzu /görüntünün klasörüne kopyalayın.
  5. Tüm bağımlılıkları manuel olarak yükleyin.
  6. Travis CI derleme komutunuzu el ile çalıştırın.

6
@DustinGraham, bu Travis CI tarafından inşa edilen projenin nasıl yapılandırılacağına bağlıdır. Üzerinde çalıştığım projede, build komutu .travis.yml dosyasında script: subsection ve was gibi yapılandırıldı make test.
Scott McLeod

102
> Manually install any dependencies Bu, normal Travis yapılarıyla eşleşmeyen sonuçlarla sonuçlanmak için iyi bir yol gibi görünüyor.
Gerry

6
@Gerry Bağımlılıkları elle yükleyerek, travis yapılandırma dosyasında bağımlılıkların yüklenmesini işleyen komutları elle çalıştırdığı anlamına gelir. Travis CI'nin yaptığı aynı komutlar, sadece otomatik değil.
Chathan Driehuys

8
Bir şekilde sorumun cevabı bu gibi hissediyorum ama Manually tun your Travis CI build command... Ne gibi? Nasıl? Bu ne? Bir .travis.ymldosyam var. Travis yapmayı denedim ama çıkmaz sokak.
Brandon,

2
@Brandon .travis.yml içinde genellikle kaynağınızı oluşturmak için travis tarafından çağrılan bir komut dosyası alt bölümü vardır. Bu cevabın amacı travmanın üzerinde çalışacağı ortamla aynı olan yerel bir ortam oluşturmaktır. Daha sonra, sizin için çalıştırmak için travmaya güvenmek yerine bu komutları kendiniz çağıracaksınız. Bu şekilde, her komutu bu ortamda kendiniz çalıştırmanın etkilerini görebilirsiniz - bu, travmada aksi takdirde erişilebilir olmayacak bir inşa problemine ilişkin fikir verebilir.
Scott McLeod

86

GÜNCELLEME: Artık tam bir anahtar teslimim, hepsi bir arada yanıtım var, bkz. Https://stackoverflow.com/a/49019950/300224 . Anlamak sadece 3 yıl sürdü!

Travis belgelerine göre: https://github.com/travis-ci/travis-ci bildiğimiz ve sevdiğimiz Travis CI web hizmetini sunmak için harmanlanacak projelerin bir karışımı var. Aşağıdaki proje alt kümesi, projenizde bulunan yerel make testişlevselliğe izin veriyor gibi görünüyor .travis.yml:

Travis-build

travis-build her iş için derleme betiği oluşturur. Yapılandırmayı .travis.ymldosyadan alır ve bashdaha sonra travis-worker tarafından oluşturma ortamında çalıştırılan bir komut dosyası oluşturur .

Travis-yemek kitapları

travis-cookbooks , yapı ortamlarını sağlamak için kullanılan Chef yemek kitaplarını tutar .

Travis-işçi

travis-worker , yapı komut dosyalarını temiz bir ortamda çalıştırmaktan sorumludur. Günlük çıktısını travis-log'larına aktarır ve durum güncellemelerini (derleme başlatma / sonlandırma) travis-hub'a aktarır.

(Diğer alt projeler GitHub, web arayüzleri, e-postaları ve API'leriyle iletişim kurmaktan sorumludur.)


4
Sadece bu üç bileşeni kullanacak ve make testişlevi yerine getirecek bir projenin harika olacağına inanıyorum. Benimle çalışmak isterseniz yorum yapın.
William Entriken


5
GitHub nedeniyle bugün aşağı DDOS github.com/blog/1981-large-scale-ddos-attack-on-github-com yerel test edilmesi gerekiyor nedeni budur
William Entriken

20
Aslında nasıl kurar ve çalıştırırım travis-build? Depoda talimat yok.
DisgruntledGoat

1
@sindhus Hayır, özür dilerim. Bulduğum tek çözüm, depoyu çatallamak, Travis çalışana kadar değişikliklerimi yapmaya devam etmek, ardından yapılandırma dosyasını ana depoya kopyalamak ve bir taahhütte bulunmaktır. Düzenleme: düşünmek için gel, bunun için geçici bir şube kullanabilirsiniz, bir kez yapılan uzak dalı silmek ve rebase / squash bir içine taahhüt.
DisgruntledGoat

23

Scott McLeod'ınkine benzer, ancak bu aynı zamanda .travis.yml'den adımları çalıştırmak için bir bash betiği oluşturur.

Oluşturulan Bash komut dosyasıyla Docker'da Yerel Sorun Giderme

# choose the image according to the language chosen in .travis.yml
$ docker run -it -u travis quay.io/travisci/travis-jvm /bin/bash

# now that you are in the docker image, switch to the travis user
sudo - travis

# Install a recent ruby (default is 1.9.3)
rvm install 2.3.0
rvm use 2.3.0

# Install travis-build to generate a .sh out of .travis.yml
cd builds
git clone https://github.com/travis-ci/travis-build.git
cd travis-build
gem install travis
# to create ~/.travis
travis version
ln -s `pwd` ~/.travis/travis-build
bundle install

# Create project dir, assuming your project is `AUTHOR/PROJECT` on GitHub
cd ~/builds
mkdir AUTHOR
cd AUTHOR
git clone https://github.com/AUTHOR/PROJECT.git
cd PROJECT
# change to the branch or commit you want to investigate
travis compile > ci.sh
# You most likely will need to edit ci.sh as it ignores matrix and env
bash ci.sh

Aşağı inen adımları takip edebildim travis # to create ~/.travis. Travis'in çalışması için bir komuta ihtiyacı var.
Eivind Gussiås Løkseth

3
sudo - travisolmalı su - travis.
Berend de Boer

1
Derleme adımını yaparken:/home/travis/.rvm/rubies/ruby-2.4.1/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- travis/support (LoadError)
Berend de Boer

2
@BerenddeBoer: Bu sorunu hala çözemediyseniz: işte sorundan kurtulmanın çözümü cd ~/.travis/travis-build/ bundle install bundler add travis bundler binstubs travis cd <REPO_YOU_WANT_TO_RUN_COMPILE_IN> ~/.travis/travis-build/bin/travis compile
Venkateshwaran Selvaraj

2
travis derlemesi ne de artık geçerli mi? Bilinmeyen komut derlemesi görüyorum: / travis -h göstermiyor: ////
Dawid Drozd

16

Wwtd kullanın (travis ne yapardı) onlar Travis üzerinde aday olacağını kabaca olarak yerel makinenizde testler yakut mücevher.

Yapım matrisini yeniden oluşturur ve itmeden önce kurulumun akıl sağlığını kontrol etmek için her konfigürasyonu çalıştırır.

gem i wwtd
wwtd

önemli not: sadece rubydestek
msangel

adımları çalıştırmak için mermi olduğu için diğer diller için destek eklemek mümkün olmalıdır
grosser

Bu hasta. Harika çalışıyor! Teşekkürler!
ppetraki

14

tl, dr kullanımı görüntü belirtilen https://docs.travis-ci.com/user/common-build-problems/#troubleshooting-locally-in-a-docker-image ile kombinasyon halinde https://github.com/ travis-ci / travis-build # travis-cli için eklenti olarak kullanın .


DÜZENLE 2019-12-06

#troubleshooting-locally-in-a-docker-imagebölümünde hata ayıklama modunda çalışan işe#running-builds-in-debug-mode nasıl SSH açıklanır .

DÜZENLEME 2019-07-26

#troubleshooting-locally-in-a-docker-imagebölümü artık dokümanların bir parçası değildir; bu yüzden


Yine de, git geçmişinde: https://github.com/travis-ci/docs-travis-ci-com/pull/2193 .

Https://travis-ci.org/travis-ci/docs-travis-ci-com/builds/230889063#L661 adresinde (oldukça eski, daha yeni) resim sürümleri arayın .



Yapımdaki testlerden birinin neden yerel olarak alamadığım bir hatayla başarısız olduğunu incelemek istedim .

Çalışmış.

Gerçekte işe yarayan şey, bir Docker Image dokümanlar sayfasında Yerel Olarak Sorun Giderme bölümünde belirtilen görüntüyü kullanmaktı . Benim durumumda öyleydi travisci/ci-garnet:packer-1512502276-986baf0.

Https://github.com/travis-ci/travis-build#use-as-addon-for-travis-cli adresindetravise compile açıklanan aşağıdaki adımları ekleyebildim .

dm@z580:~$ docker run --name travis-debug -dit travisci/ci-garnet:packer-1512502276-986baf0 /sbin/init
dm@z580:~$ docker images
REPOSITORY                       TAG                          IMAGE ID            CREATED             SIZE
travisci/ci-garnet               packer-1512502276-986baf0    6cbda6a950d3        11 months ago       10.2GB
dm@z580:~$ docker exec -it travis-debug bash -l
root@912e43dbfea4:/# su - travis
travis@912e43dbfea4:~$ cd builds/
travis@912e43dbfea4:~/builds$ git clone https://github.com/travis-ci/travis-build
travis@912e43dbfea4:~/builds$ cd travis-build
travis@912e43dbfea4:~/builds/travis-build$ mkdir -p ~/.travis
travis@912e43dbfea4:~/builds/travis-build$ ln -s $PWD ~/.travis/travis-build
travis@912e43dbfea4:~/builds/travis-build$ gem install bundler
travis@912e43dbfea4:~/builds/travis-build$ bundle install --gemfile ~/.travis/travis-build/Gemfile
travis@912e43dbfea4:~/builds/travis-build$ bundler binstubs travis
travis@912e43dbfea4:~/builds/travis-build$ cd ..
travis@912e43dbfea4:~/builds$ git clone --depth=50 --branch=master https://github.com/DusanMadar/PySyncDroid.git DusanMadar/PySyncDroid
travis@912e43dbfea4:~/builds$ cd DusanMadar/PySyncDroid/
travis@912e43dbfea4:~/builds/DusanMadar/PySyncDroid$ ~/.travis/travis-build/bin/travis compile > ci.sh
travis@912e43dbfea4:~/builds/DusanMadar/PySyncDroid$ sed -i 's,--branch\\=\\\x27\\\x27,--branch\\=master,g' ci.sh
travis@912e43dbfea4:~/builds/DusanMadar/PySyncDroid$ bash ci.sh

Her şey .travis.ymlbeklendiği gibi yürütüldü (bağımlılıklar kuruldu, testler yapıldı, ...).

Çalıştırmadan önce içinde (son komut için ikinci komuta bakınız) bash ci.shdeğiştirmek zorunda olduğumu unutmayın .--branch\=\'\'\--branch\=master\sed -i ...ci.sh

Bu işe yaramazsa, aşağıdaki komut hedef satır numarasını tanımlamaya yardımcı olur ve satırı elle düzenleyebilirsiniz.

travis@912e43dbfea4:~/builds/DusanMadar/PySyncDroid$ cat ci.sh | grep -in branch
840:    travis_cmd git\ clone\ --depth\=50\ --branch\=\'\'\ https://github.com/DusanMadar/PySyncDroid.git\ DusanMadar/PySyncDroid --echo --retry --timing
889:export TRAVIS_BRANCH=''
899:export TRAVIS_PULL_REQUEST_BRANCH=''
travis@912e43dbfea4:~/builds/DusanMadar/PySyncDroid$

İşe yaramadı.

Bu soru için kabul edilen cevabını izledi ama görüntüyü (bulamadık travis-ci-garnet-trusty-1512502259-986baf0bahsettiği) instancede https://hub.docker.com/u/travisci/ .

Travis-ci / worker kesinti ve travis-worker-install referanslarını görüntü kaydı olarak oluşturmak için worker (işçi) sürüm noktaları oluşturun . Ben de denedim.quay.io/travisci/

dm@z580:~$ docker run -it -u travis quay.io/travisci/travis-python /bin/bash
travis@370c23a773c9:/$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.5 LTS
Release:    12.04
Codename:   precise
travis@370c23a773c9:/$
dm@z580:~$ docker images 
REPOSITORY                       TAG                          IMAGE ID            CREATED             SIZE
quay.io/travisci/travis-python   latest                       753a216d776c        3 years ago         5.36GB

Kesinlikle güvenilir (Ubuntu 14.04) ve küçük de değil.


1
Çalışılan yaklaşım benim için yaptı. Ama ek olarak http_proxy, uğruna çevre kurmam gerekti git clone. Varsayılan olarak istisna git cloneatar gnutls_handshake. Ben şapka özellikle yüklenmesini zorlamak için Yani bundlersürümü gem install bundler -v 1.16.6çünkü bundler binstubs travisdaha önce başarısız oldu. bundlerBundle Info Travis'i çalıştırarak gereken sürümü geliştirin
Palik

1
Bu, en iyi Yanıttır, çünkü travis.ymlyürütülebilir bir kabuk komut dosyasına nasıl derleneceğini açıklar . Güzel yapılmış! Buradaki tek gelişme, oluşturulacak dalı belirtirken manuel dize değişiminden kaçınmak için bir mekanizma olacaktır.
Ben Johnson

1
@BenJohnson Yaptığınız sednoktayı ele alan bir komut ekledim . Çalıştırmadan önce komuta bakın bash ci.sh.
Dušan Maďar

Bir Docker Görüntüsünde Yerel Olarak Sorun Giderme bağlantısı artık çalışmıyor
juliangonzalez

1
@juliangonzalez düzeltebildiğim en iyi bilgilerle düzenledi.
Dušan Maďar

7

Trevor'ı deneyebilirsinTravis yapınızı çalıştırmak için Docker'ı kullanan .

Açıklamasından:

Sık sık Node.js'nin birden çok sürümü için test çalıştırmam gerekiyor. Ama n / nvm kullanarak sürümleri manuel olarak değiştirmek ya da sadece testleri çalıştırmak için kodu Travis CI'ye göndermek istemiyorum.

Bu yüzden Trevor'u yarattım. Travis CI gibi .travis.yml dosyasını okur ve istediğiniz tüm sürümlerde testler yapar. Şimdi, basmadan önce test edebilir ve git geçmişinizi temiz tutabilirsiniz.


2
Bunu denemek isteyenler için FYI ... PHP desteklemiyor
Craig Wayne

2
yalnızca node.js için görünüyor. uzatmak güzel olurdu
João Neto

6

Emin, eğer yerel olarak Travis çalıştırmak için orijinal nedeni neydi değilim sadece onunla oynamak istiyorsanız, o zaman sizin için ilgisiz olduğu için burada okumayı bırakın.

Barındırılan Travis ile zaten deneyiminiz varsa ve kendi veri merkezinizde aynı deneyimi elde etmek istiyorsanız, okumaya devam edin.

Aralık 2014'ten beri Travis CI, şirket içi bir Enterprise sürümü sunuyor.

http://blog.travis-ci.com/2014-12-19-introducing-travis-ci-enterprise/

Fiyatlandırma da makalenin bir parçasıdır:

Lisanslama, her lisansta 20 kullanıcı bulunan koltuk başına yapılır. Fiyatlandırma, 20 kullanıcı ve 5 eşzamanlı derleme içeren lisans başına 6.000 $ 'dan başlar. 8.500 $ 'lık sınırsız yapıya sahip premium bir seçenek var.


3
Aslında bununla da ilgileniyordum. Gerçekten garip bir proje için bir travis işi yapılandırmaya çalışıyorum. 26 Nisan'daki tüm bu taahhütler .travis.yml dosyasıyla ( github.com/gregturn/issue-aggregator/commits/master ) uğraşıyordu . Her bir düzenlemeyi zorlamak zorunda kalmadan yapılandırmayla uğraşmanın daha kolay bir yolu olsaydı.
gregturn

4
@gregturn Geldiğim çirkin ama stresi azaltan bir geçici çözüm, Repo'yu ikinci bir GitHub deposuna kopyalamaktı. Bu yüzden repo whackamolegerçekten üzerinde çalışmak istediğim projenin bir kopyası ve ben yapı otomasyonunun karışıklıklarını giderirken bu proje için geçici bir Travis derleme işi kurabilirim. Bunu çivilediğimde, düzinelerce "oops" taahhüdünü geri kazan ve gerçek GitHub repo'suna it. (Ve muhtemelen whackamoleGitHub
deposunu

3
6000 $ lisans ücretinin bir defalık mı yoksa yıllık mı olduğunu merak ediyorum.
Erik

0

Geri dönen bir ana bilgisayar aracılığıyla SSH'den Travis CI ortamına mümkündür. Bu özellik Travis CI'de yerleşik değildir, ancak aşağıdaki adımlarla gerçekleştirilebilir.

  1. Sıçrama ana bilgisayarında traviskullanıcı oluşturun ve buna SSH yapabildiğinizden emin olun.
  2. Bu satırları script:bölümünüze koyun .travis.yml(örneğin sonunda).

    - echo travis:$sshpassword | sudo chpasswd
    - sudo sed -i 's/ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/' /etc/ssh/sshd_config
    - sudo service ssh restart
    - sudo apt-get install sshpass
    - sshpass -p $sshpassword ssh -R 9999:localhost:22 -o StrictHostKeyChecking=no travis@$bouncehostip
    

    $bouncehostipSıçrama ana makinenizin IP / ana bilgisayarı nerede ve $sshpasswordtanımlanmış SSH parolanız. Bu değişkenler şifreli değişkenler olarak eklenebilir .

  3. Değişiklikleri itin. Geri dönen ana makinenizle SSH bağlantısı yapabilmeniz gerekir.

Kaynak: Travis CI Build Environment'a giriş yapın .


İşte tam örnek:

# use the new container infrastructure
sudo: required
dist: trusty

language: python
python: "2.7"

script:
- echo travis:$sshpassword | sudo chpasswd
- sudo sed -i 's/ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/' /etc/ssh/sshd_config
- sudo service ssh restart
- sudo apt-get install sshpass
- sshpass -p $sshpassword ssh -R 9999:localhost:22 -o StrictHostKeyChecking=no travisci@$bouncehostip

Bakınız: c-mart/travis-shellGitHub'da .


Ayrıca bkz: Hata ayıklama için travis-ci oluşturma ortamını yeniden oluşturma

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.