diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 557d71b..1c75ae5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,8 +14,12 @@ stages: - pre-build - build - test + - build-deploy-container - deploy +build deploy container: + extends: .build-deploy-container + check scripts with shellcheck: stage: pre-build extends: .openwrt-shellcheck diff --git a/.gitlab/ci/base.yml b/.gitlab/ci/base.yml index 9d4bb25..1575188 100644 --- a/.gitlab/ci/base.yml +++ b/.gitlab/ci/base.yml @@ -8,14 +8,22 @@ - bash docker-common.sh - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY -.deploy: +.build-deploy-container: image: docker:latest + stage: build-deploy-container + services: + - docker:dind + script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - docker build -t "$CI_REGISTRY_IMAGE:deploy" -f Dockerfile.deploy . + - docker push "$CI_REGISTRY_IMAGE:deploy" + +.deploy: + image: "$CI_REGISTRY_IMAGE:deploy" stage: deploy only: - master services: - docker:dind before_script: - - apk add curl rsync bash gnupg outils-signify - - bash docker-common.sh - docker login -u "$DOCKER_USER" -p "$DOCKER_PASS" diff --git a/Dockerfile.deploy b/Dockerfile.deploy new file mode 100644 index 0000000..615daf0 --- /dev/null +++ b/Dockerfile.deploy @@ -0,0 +1,8 @@ +FROM docker:latest + +RUN apk add curl rsync bash gnupg outils-signify +RUN mkdir -p /deploy +COPY docker-common.sh /deploy +WORKDIR /deploy +RUN chmod +x ./docker-common.sh +RUN ./docker-common.sh