diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index 353a8c4..0000000 --- a/.drone.yml +++ /dev/null @@ -1,5 +0,0 @@ -pipeline: - build: - image: docker:dind - commands: - - docker build -t dr.dnix.de/mmflokati . diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..9485701 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,67 @@ +image: gitlab/dind + +before_script: + - docker info + - export REV=$(git rev-list HEAD --count) + - export BUILDDATE=$(date) + - export BRANCH=$CI_COMMIT_REF_SLUG + - export IMAGE=dr.dnix.de/$CI_PROJECT_NAME + +variables: + VERSIONGO: version.go + BUILDDATEGO: builddate.go + +stages: + - build + - test + - deploy + +build: + stage: build + script: + - echo "Building image $IMAGE:$BRANCH-$REV" + - echo "package main" >$VERSIONGO + - echo "" >>$VERSIONGO + - echo "const (" >>$VERSIONGO + - echo -n " FlokatiVersion = \"" >>$VERSIONGO + - echo -n "$BRANCH" >>$VERSIONGO + - echo "\"" >>$VERSIONGO + - echo -n " FlokatiBuild = \"" >>$VERSIONGO + - echo -n "$REV" >>$VERSIONGO + - echo "\"" >>$VERSIONGO + - echo ")" >>$VERSIONGO + - echo "package main" >$BUILDDATEGO + - echo "" >>$BUILDDATEGO + - echo "const (" >>$BUILDDATEGO + - echo -n " FlokatiBuilddate = \"" >>$BUILDDATEGO + - echo -n "$BUILDDATE" >>$BUILDDATEGO + - echo "\"" >>$BUILDDATEGO + - echo ")" >>$BUILDDATEGO + - cat version.go + - docker build -t "$IMAGE:$BRANCH-$REV" . + - docker push "$IMAGE:$BRANCH-$REV" + - docker tag "$IMAGE:$BRANCH-$REV" "$IMAGE:latest" + - docker push "$IMAGE:latest" + +test: + stage: test + script: + - echo "Testing image $IMAGE:$BRANCH-$REV" + +deploy: + stage: deploy + script: + - echo "Deploying image $IMAGE:$BRANCH-$REV" + - cd ~ + - mkdir .ssh + - chmod 700 .ssh + - echo "$K8S_SSH_PRIVATE_KEY" >.ssh/id_rsa + - chmod 600 .ssh/id_rsa + - echo "$K8S_SSH_PUB₤IC_KEY" >.ssh/id_rsa.pub + - chmod 600 .ssh/id_rsa.pub + - ssh -oStrictHostKeyChecking=no root@node04 "kubectl set image deployment/mmflokati-flokati mmflokati-flokati=dr.dnix.de/mmflokati:$BRANCH-$REV -n northbrigade" + - ssh -oStrictHostKeyChecking=no root@node04 "kubectl set image deployment/mmflokati-armleuchter mmflokati-armleuchter=dr.dnix.de/mmflokati:$BRANCH-$REV -n northbrigade" + - ssh -oStrictHostKeyChecking=no root@node04 "kubectl rollout status deployment/mmflokati-flokati -n northbrigade" + - ssh -oStrictHostKeyChecking=no root@node04 "kubectl rollout status deployment/mmflokati-armleuchter -n northbrigade" + only: + - master