From 590d19a8a9f96ff11a40249ee3dd0fe601c4c087 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Jacquin?= Date: Sun, 17 Sep 2017 17:21:44 +0200 Subject: [PATCH 1/6] Don't remove openssl and ca-certificates to fix #11 (again) --- Dockerfile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5caa76f..666cbcf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,17 +5,16 @@ ENV HUGO_SHA 67e4ba5ec2a02c8164b6846e30a17cc765b0165a5b183d5e480149baf54e1a50 # Install HUGO RUN set -eux && \ - apk add --update --no-cache --virtual .fetch-deps \ + apk add --update --no-cache \ ca-certificates \ openssl && \ wget -O ${HUGO_VERSION}.tar.gz https://github.com/spf13/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz && \ echo "${HUGO_SHA} ${HUGO_VERSION}.tar.gz" | sha256sum -c && \ tar xf ${HUGO_VERSION}.tar.gz && mv hugo* /usr/bin/hugo && \ rm -r ${HUGO_VERSION}.tar.gz && \ - apk del .fetch-deps && \ rm /var/cache/apk/* && \ hugo version EXPOSE 1313 -CMD ["/usr/local/bin/hugo"] \ No newline at end of file +CMD ["/usr/local/bin/hugo"] From 361f873963bae8bfccc99aa2b2b923f8b18c903f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Jacquin?= Date: Sun, 17 Sep 2017 17:28:27 +0200 Subject: [PATCH 2/6] Upgrade Hugo to v0.27.1 --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 666cbcf..e80e604 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM alpine:latest -ENV HUGO_VERSION 0.26 -ENV HUGO_SHA 67e4ba5ec2a02c8164b6846e30a17cc765b0165a5b183d5e480149baf54e1a50 +ENV HUGO_VERSION 0.27.1 +ENV HUGO_SHA 0e6cb63e6aca10277b96023c4fed97ac3a3e922d12f073b8a80630946fe289e7 # Install HUGO RUN set -eux && \ From be59881974e970b07d7839aaba2fe0fecb17fbc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Jacquin?= Date: Sun, 17 Sep 2017 18:28:22 +0200 Subject: [PATCH 3/6] Split Docker image build and deployment. Image is now deployed only on tag creation. Latest tag was added (better pour image usage) --- .gitlab-ci.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e775255..fb38e12 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,12 +3,17 @@ image: docker:latest # When using dind, it's wise to use the overlayfs driver for # improved performance. variables: - DOCKER_DRIVER: overlay + DOCKER_DRIVER: overlay IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME + IMAGE_LATEST: $CI_REGISTRY_IMAGE:latest services: - docker:dind +stages: + - build + - deploy + before_script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY @@ -17,4 +22,12 @@ build: stage: build script: - docker build -t $IMAGE_TAG . - - docker push $IMAGE_TAG + +deploy: + stage: deploy + script: + - docker build -t $IMAGE_TAG -t $IMAGE_LATEST . + - docker push $CI_REGISTRY_IMAGE + only: + - tags + From 1c2df8d832e40e49b8534750c1d680982bd81770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Jacquin?= Date: Sun, 17 Sep 2017 20:10:34 +0200 Subject: [PATCH 4/6] Add tests for docker image --- .gitlab-ci.yml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fb38e12..add04e0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,8 +3,8 @@ image: docker:latest # When using dind, it's wise to use the overlayfs driver for # improved performance. variables: - DOCKER_DRIVER: overlay - IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME + DOCKER_DRIVER: overlay + IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME IMAGE_LATEST: $CI_REGISTRY_IMAGE:latest services: @@ -12,6 +12,8 @@ services: stages: - build + - test + - cleanup - deploy before_script: @@ -21,13 +23,20 @@ before_script: build: stage: build script: - - docker build -t $IMAGE_TAG . + - docker build -t $IMAGE_NAME . + - docker push $IMAGE_NAME + +test: + stage: test + script: + - docker pull $IMAGE_NAME + - docker run -v `pwd`:/git $IMAGE_NAME /bin/sh -c "wget -qO- https://fedoraproject.org/static/hotspot.txt | grep OK && cd /git && hugo" deploy: stage: deploy script: - - docker build -t $IMAGE_TAG -t $IMAGE_LATEST . - - docker push $CI_REGISTRY_IMAGE + - docker pull $IMAGE_NAME + - docker tag $IMAGE_NAME $IMAGE_LATEST + - docker push $IMAGE_LATEST only: - tags - From b1db27cd59335c5c340455bf65d9ed4977efc7ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Jacquin?= Date: Sun, 17 Sep 2017 20:44:42 +0200 Subject: [PATCH 5/6] Added git support for using Hugo git variables https://gohugo.io/variables/git/ --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index e80e604..ebd34c9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,8 @@ ENV HUGO_SHA 0e6cb63e6aca10277b96023c4fed97ac3a3e922d12f073b8a80630946fe289e7 RUN set -eux && \ apk add --update --no-cache \ ca-certificates \ - openssl && \ + openssl \ + git && \ wget -O ${HUGO_VERSION}.tar.gz https://github.com/spf13/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz && \ echo "${HUGO_SHA} ${HUGO_VERSION}.tar.gz" | sha256sum -c && \ tar xf ${HUGO_VERSION}.tar.gz && mv hugo* /usr/bin/hugo && \ From afb3b968340e9ca001b31fcc2e88150e0741f3b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Jacquin?= Date: Sun, 15 Oct 2017 15:00:52 +0200 Subject: [PATCH 6/6] Don't push test image to repository anymore --- .gitlab-ci.yml | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index add04e0..28a5591 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,35 +8,27 @@ variables: IMAGE_LATEST: $CI_REGISTRY_IMAGE:latest services: -- docker:dind + - docker:dind stages: - - build - test - - cleanup - deploy before_script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY -build: - stage: build - script: - - docker build -t $IMAGE_NAME . - - docker push $IMAGE_NAME - test: stage: test script: - - docker pull $IMAGE_NAME + - docker build -t $IMAGE_NAME . - docker run -v `pwd`:/git $IMAGE_NAME /bin/sh -c "wget -qO- https://fedoraproject.org/static/hotspot.txt | grep OK && cd /git && hugo" deploy: stage: deploy script: - - docker pull $IMAGE_NAME - - docker tag $IMAGE_NAME $IMAGE_LATEST + - docker build -t $IMAGE_NAME -t $IMAGE_LATEST . + - docker push $IMAGE_NAME - docker push $IMAGE_LATEST only: - tags