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