2016-04-07 17 views
1

Ben gitlab-ci sürecini kuruyorum ama sorun benim sırlarını yönetmek nasıl anlamak yaşıyorum bir gitlab/dind'den docker koşucusu.Docker görüntüsünü sürükleyebilmek için gitlab-ci koşucuya geçiş yapmak…? <p></p> Yani başarılı bir liman işçisi kapsayıcı olarak gitlab/gitlab-koşucu başladı ve kaydoldum ...

Bu durumda oluşturmak istediğim şey sadece Dockerfile'dan bir docker görüntüsü oluşturmak, daha sonra diğer ci entegrasyon testlerinin kullanması için önbelleklerin doldurulmasıdır. Bu özel docker kayıt defterine kadar iterek.

build_image: 
    script: 
    - docker build -t ensime/ensime-atom-ci . 
    - docker tag ensime/ensime-atom-ci docker.woodenstake.se/ensime/ensime-atom-ci 
    - docker push docker.woodenstake.se/ensime/ensime-atom-ci 

yeterince basit görünüyor, ama bu başarısız böylece tabii ki burada hiçbir creds var: Bu durumda benim .gitlab-ci.yml tanımı sadece öyle bir oluşturulan nerede

ben Drone geldi Bunun için .sec dosyası.

Ama burada giriş yapmalıyım, değil mi? Ben dockerized gitlab/gitlab-ray görüntü içinden gitlab-koşucu koşuyorum beri yüzden

https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/blob/master/docs/configuration/advanced-configuration.md#using-a-private-docker-registry

Sorun burada olduğunu okudum, hatta orada bir liman işçisi cli olmak görünmüyor?

[email protected]:/var/lib$ sudo docker exec -it gitlab-runner docker login 
exec: "docker": executable file not found in $PATH 

Herhangi bir ipucu çok takdir! açıklama için

Güncelleme:

Yani gitlab-ci inşa günlüğünün kuyruğu:

012ca7ed9b62: Retrying in 1 seconds 
173cd98367a6: Retrying in 1 seconds 
92b0661193a5: Retrying in 1 seconds 
c12ecfd4861d: Waiting 
5f70bf18a086: Retrying in 5 seconds 
no basic auth credentials 

ERROR: Build failed: exit code 1 

konak makine kök olarak kayıt kaydedilir. Docker konteynerinden giriş yapmaya çalışıyorum sadece docker klipsim bile yok.

Koşucunun kaydına --docker-privileged bayrağını ekledim. > Gitlab-runner - -> koşucu örneği (dind)

+0

Nasıl giriş yapacağınızı anladınız mı? Şu anda aynı sorunla karşı karşıyayım ... –

cevap

5

sahip olduğunuz gitlab kendi kapsayıcı kayıt kullanıyorsanız, sizinle ilgili şu komut bölümüne aşağıdaki eklemek için

Ben kimlik konak geçmesi gerekiyor sanırım. gitlab-ci.yml dosyası: harici bir kayıt kullanıyorsanız

docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN docker.woodenstake.se

, sana Proje Ayarları sayfasında sürüme değişkenler olarak kimlik bilgilerini eklemek önermek> değişkenler, o zaman hattı docker login -u $USER_VAR -p $PASS_VAR docker.woodenstake.se ekleyebilir gitlab-ci.yml dosyası.

Bu gibi görünmelidir:

build_image: 
    script: 
    - docker login -u $USER_VAR -p $PASS_VAR docker.woodenstake.se 
    - docker build -t ensime/ensime-atom-ci . 
    - docker tag ensime/ensime-atom-ci docker.woodenstake.se/ensime/ensime-atom-ci 
    - docker push docker.woodenstake.se/ensime/ensime-atom-ci 
1

koşucu kimlik olması gerekir özel kayıt görüntüleri kullanın. Kendinizi öğrendikçe, gitlab/gitlab-runner görüntüsünün mevcut docker komutu yok. basit çözüm koşucu yayınlandığı yeri ana bilgisayardan sizin kayıt defterine giriş şudur: Bundan sonra

docker login your.registry:5000

, senin gitlab-runner örneğinde /root/.docker/config.json olarak ~/.docker/config.json monte.

Yapınız sırasında görüntüleri itmek için Eduardo Cardoso'nun yanıtına bakın.

İlgili konular