2
Gitlab CIをセットアップしてドッカー画像を作成し、それをGitlabレジストリにプッシュするのにはいくつか問題があります。 Gitlabが提供する共有ランナーを使用しようとしています。私が何を読んでから、これはこのメッセージを表示して、できるだけ早くビルドが任意の「ドッカ」コマンドに達すると、それが失敗した、しかし、関係なく、私がしようとするもの、可能べきではない:gitlab ci共有ランナーでビルドドッカー画像
$ docker build --pull -t $CONTAINER_TEST_IMAGE .
/bin/bash: line 54: docker: command not found
私は次のように使用していますCI構成:
image: "ruby:2.3"
services:
- docker:dind
- postgres:latest
variables:
POSTGRES_DB: test-db
CONTAINER_TEST_IMAGE: registry.gitlab.com/pha3l/gitlab-ci-test-project:$CI_BUILD_REF_NAME
CONTAINER_RELEASE_IMAGE: registry.gitlab.com/pha3l/gitlab-ci-test-project:latest
cache:
paths:
- vendor/ruby
stages:
- build
- test
- release
- deploy
before_script:
- ruby -v
- gem install bundler --no-ri --no-rdoc
- bundle install -j $(nproc) --path vendor
rubocop:
script:
- rubocop
rails:
variables:
DATABASE_URL: "postgresql://postgres:[email protected]:5432/$POSTGRES_DB"
script:
- bundle exec rake db:migrate
- bundle exec rake db:seed
- bundle exec rake test
build:
stage: build
script:
- docker build --pull -t $CONTAINER_TEST_IMAGE .
- docker push $CONTAINER_TEST_IMAGE
release-image:
stage: release
script:
- docker pull $CONTAINER_TEST_IMAGE
- docker tag $CONTAINER_TEST_IMAGE $CONTAINER_RELEASE_IMAGE
- docker push $CONTAINER_RELEASE_IMAGE
only:
- master
deploy:
stage: deploy
script:
- echo 'Do the deploy!'
only:
- master
ありがとうございます。私は、最初のレベルではなく、作成するコンテナ内でのみルビー環境が必要でないことを認識しました。私は問題を、docker:gitイメージをベースとして使用し、それが作成するコンテナのDockerfileを作成することで解決しました。 – lmerry213