From b0fe03087faa77ccd9475da52ccd4510c73a015d Mon Sep 17 00:00:00 2001 From: Dean Lovett <dean.lovett@nexusmods.com> Date: Fri, 22 May 2020 12:11:25 +0100 Subject: [PATCH] feat: added new ci pipeline --- .gitlab-ci.yml | 23 +++++++++++++++++++++++ .gitlab/ci/build.gitlab-ci.yml | 16 ++++++++++++++++ .gitlab/ci/test.gitlab-ci.yml | 6 ++++++ 3 files changed, 45 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 .gitlab/ci/build.gitlab-ci.yml create mode 100644 .gitlab/ci/test.gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..812aa88 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,23 @@ +services: + - docker:dind +variables: + # explicit tag to be used within pipeline + BUILD_IMAGE_NAME: "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA" + + # we also publish a floating tag to simplify manual testing + BUILD_IMAGE_NAME_LATEST: "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG:latest" + + DOCKER_VERSION: 19.03.8 + + CI_APPLICATION_TAG: "$CI_COMMIT_SHA" + CI_APPLICATION_REPOSITORY: "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG/$CI_JOB_NAME" + +stages: + - build + - test + - release + +include: + - local: .gitlab/ci/build.gitlab-ci.yml + - local: .gitlab/ci/test.gitlab-ci.yml + diff --git a/.gitlab/ci/build.gitlab-ci.yml b/.gitlab/ci/build.gitlab-ci.yml new file mode 100644 index 0000000..c26ef10 --- /dev/null +++ b/.gitlab/ci/build.gitlab-ci.yml @@ -0,0 +1,16 @@ +build: + stage: build + image: "docker:${DOCKER_VERSION}" + services: + - "docker:${DOCKER_VERSION}-dind" + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY" + script: + - docker build --build-arg DOCKER_VERSION="$DOCKER_VERSION" + --tag "$BUILD_IMAGE_NAME" + --tag "$BUILD_IMAGE_NAME_LATEST" + . + - docker push "$BUILD_IMAGE_NAME" + - docker push "$BUILD_IMAGE_NAME_LATEST" + tags: + - nexus_runner \ No newline at end of file diff --git a/.gitlab/ci/test.gitlab-ci.yml b/.gitlab/ci/test.gitlab-ci.yml new file mode 100644 index 0000000..59f933b --- /dev/null +++ b/.gitlab/ci/test.gitlab-ci.yml @@ -0,0 +1,6 @@ +test-shellcheck: + stage: test + image: koalaman/shellcheck-alpine + needs: [] + script: + - shellcheck src/release.sh \ No newline at end of file -- GitLab