From a6db94ac97fe818c8317b4ae23b0cc98d43a95e3 Mon Sep 17 00:00:00 2001 From: Imran Tierce Date: Sun, 16 Jan 2022 12:20:34 +0100 Subject: [PATCH 01/11] Add CI --- .gitlab-ci.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..1a5901c --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,23 @@ +image: docker + +stages: + - build + - deploy + +before_script: + - echo $DOCKER_TOKEN | docker login -u itytophile --password-stdin + - cargo vendor + +build-slave: + stage: build + tags: + - docker + script: + - docker build -f docker/Dockerfile.slave -t itytophile/slave . + +build-server: + stage: build + tags: + - docker + script: + - docker build -f docker/Dockerfile.server -t itytophile/server . -- GitLab From b7fc9f3761c289fbaef3377494cfcf2c7e6f1309 Mon Sep 17 00:00:00 2001 From: Imran Tierce Date: Sun, 16 Jan 2022 12:31:32 +0100 Subject: [PATCH 02/11] Fix login --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1a5901c..5af8ebc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,7 +5,7 @@ stages: - deploy before_script: - - echo $DOCKER_TOKEN | docker login -u itytophile --password-stdin + - docker login -u itytophile -p $DOCKER_TOKEN - cargo vendor build-slave: -- GitLab From b1fa3f80f0538ce4dc801010008485d992e34792 Mon Sep 17 00:00:00 2001 From: Imran Tierce Date: Sun, 16 Jan 2022 12:57:29 +0100 Subject: [PATCH 03/11] Add vendor stage --- .gitlab-ci.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5af8ebc..1b72895 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ image: docker stages: + - vendor - build - deploy @@ -8,6 +9,12 @@ before_script: - docker login -u itytophile -p $DOCKER_TOKEN - cargo vendor +vendor: + stage: vendor + image: rust:alpine + script: + - cargo vendor + build-slave: stage: build tags: -- GitLab From daa2f2cdd03f3980b10b9ae5fd9cea7c91154626 Mon Sep 17 00:00:00 2001 From: Imran Tierce Date: Sun, 16 Jan 2022 13:04:56 +0100 Subject: [PATCH 04/11] Add tag to vendor stage --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1b72895..f13273d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,6 +12,8 @@ before_script: vendor: stage: vendor image: rust:alpine + tags: + - docker script: - cargo vendor -- GitLab From 1246c0dfe1dc8128afe1cfd8be28e7a64dad2ab7 Mon Sep 17 00:00:00 2001 From: Imran Tierce Date: Sun, 16 Jan 2022 13:19:51 +0100 Subject: [PATCH 05/11] Remove vendor stage --- .gitlab-ci.yml | 14 ++------------ docker/Dockerfile.server-ci | 13 +++++++++++++ docker/Dockerfile.slave-ci | 13 +++++++++++++ 3 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 docker/Dockerfile.server-ci create mode 100644 docker/Dockerfile.slave-ci diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f13273d..03f991e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,32 +1,22 @@ image: docker stages: - - vendor - build - deploy before_script: - docker login -u itytophile -p $DOCKER_TOKEN - - cargo vendor - -vendor: - stage: vendor - image: rust:alpine - tags: - - docker - script: - - cargo vendor build-slave: stage: build tags: - docker script: - - docker build -f docker/Dockerfile.slave -t itytophile/slave . + - docker build -f docker/Dockerfile.slave-ci -t itytophile/slave . build-server: stage: build tags: - docker script: - - docker build -f docker/Dockerfile.server -t itytophile/server . + - docker build -f docker/Dockerfile.server-ci -t itytophile/server . diff --git a/docker/Dockerfile.server-ci b/docker/Dockerfile.server-ci new file mode 100644 index 0000000..b52e3ce --- /dev/null +++ b/docker/Dockerfile.server-ci @@ -0,0 +1,13 @@ +FROM rust:alpine AS builder + +RUN apk update +RUN apk add clang musl-dev +COPY . . +RUN cargo build --bin server --release +RUN strip target/release/server + +FROM busybox + +COPY --from=builder /target/release/server . + +ENTRYPOINT ["/server"] diff --git a/docker/Dockerfile.slave-ci b/docker/Dockerfile.slave-ci new file mode 100644 index 0000000..bf885ab --- /dev/null +++ b/docker/Dockerfile.slave-ci @@ -0,0 +1,13 @@ +FROM rust:alpine AS builder + +RUN apk update +RUN apk add clang musl-dev +COPY . . +RUN cargo build --bin slave --release +RUN strip target/release/slave + +FROM busybox + +COPY --from=builder /target/release/slave . + +ENTRYPOINT ["/slave"] -- GitLab From ce0f91cc1c03e349259263b81d3234c309419a4a Mon Sep 17 00:00:00 2001 From: Imran Tierce Date: Sun, 16 Jan 2022 14:13:25 +0100 Subject: [PATCH 06/11] Add vendor stage --- .gitlab-ci.yml | 12 ++++++++++-- docker/Dockerfile.server-ci | 13 ------------- docker/Dockerfile.slave-ci | 13 ------------- 3 files changed, 10 insertions(+), 28 deletions(-) delete mode 100644 docker/Dockerfile.server-ci delete mode 100644 docker/Dockerfile.slave-ci diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 03f991e..184a44f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,16 +7,24 @@ stages: before_script: - docker login -u itytophile -p $DOCKER_TOKEN +vendor: + stage: vendor + tags: + - docker + script: + - docker run -v /tmp/vendor:/tmp/vendor rust:alpine cargo vendor /tmp/vendor + - cp -r /tmp/vendor . + build-slave: stage: build tags: - docker script: - - docker build -f docker/Dockerfile.slave-ci -t itytophile/slave . + - docker build -f docker/Dockerfile.slave -t itytophile/slave . build-server: stage: build tags: - docker script: - - docker build -f docker/Dockerfile.server-ci -t itytophile/server . + - docker build -f docker/Dockerfile.server -t itytophile/server . diff --git a/docker/Dockerfile.server-ci b/docker/Dockerfile.server-ci deleted file mode 100644 index b52e3ce..0000000 --- a/docker/Dockerfile.server-ci +++ /dev/null @@ -1,13 +0,0 @@ -FROM rust:alpine AS builder - -RUN apk update -RUN apk add clang musl-dev -COPY . . -RUN cargo build --bin server --release -RUN strip target/release/server - -FROM busybox - -COPY --from=builder /target/release/server . - -ENTRYPOINT ["/server"] diff --git a/docker/Dockerfile.slave-ci b/docker/Dockerfile.slave-ci deleted file mode 100644 index bf885ab..0000000 --- a/docker/Dockerfile.slave-ci +++ /dev/null @@ -1,13 +0,0 @@ -FROM rust:alpine AS builder - -RUN apk update -RUN apk add clang musl-dev -COPY . . -RUN cargo build --bin slave --release -RUN strip target/release/slave - -FROM busybox - -COPY --from=builder /target/release/slave . - -ENTRYPOINT ["/slave"] -- GitLab From e36bb0e7c500457d4fd0bfb0a72e6028bcb44fab Mon Sep 17 00:00:00 2001 From: Imran Tierce Date: Sun, 16 Jan 2022 14:14:07 +0100 Subject: [PATCH 07/11] Fix stages --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 184a44f..8137065 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,7 @@ image: docker stages: + - vendor - build - deploy -- GitLab From 2a4ec5e2a4f2a5f5122fe15d9d744eb8f9e72fdf Mon Sep 17 00:00:00 2001 From: Imran Tierce Date: Sun, 16 Jan 2022 14:24:57 +0100 Subject: [PATCH 08/11] Fix vendor --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8137065..81c5db0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -13,7 +13,7 @@ vendor: tags: - docker script: - - docker run -v /tmp/vendor:/tmp/vendor rust:alpine cargo vendor /tmp/vendor + - docker run --rm -v $(pwd):/project rust:alpine sh -c ""cd project && cargo vendor"" - cp -r /tmp/vendor . build-slave: -- GitLab From 90372a6c8de8babf99134c5123d9a13ba2b0a33e Mon Sep 17 00:00:00 2001 From: Imran Tierce Date: Sun, 16 Jan 2022 14:33:27 +0100 Subject: [PATCH 09/11] Add cache --- .gitlab-ci.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 81c5db0..05287c3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,11 +10,15 @@ before_script: vendor: stage: vendor + image: rust:alpine tags: - docker + cache: + key: vendor + paths: + - vendor/ script: - - docker run --rm -v $(pwd):/project rust:alpine sh -c ""cd project && cargo vendor"" - - cp -r /tmp/vendor . + - cargo vendor build-slave: stage: build -- GitLab From 24fffa76a68190e954a6ae885a00866187f4ea73 Mon Sep 17 00:00:00 2001 From: Imran Tierce Date: Sun, 16 Jan 2022 14:40:37 +0100 Subject: [PATCH 10/11] Rollback --- .gitlab-ci.yml | 17 ++--------------- docker/Dockerfile.server-ci | 13 +++++++++++++ docker/Dockerfile.slave-ci | 13 +++++++++++++ 3 files changed, 28 insertions(+), 15 deletions(-) create mode 100644 docker/Dockerfile.server-ci create mode 100644 docker/Dockerfile.slave-ci diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 05287c3..03f991e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,35 +1,22 @@ image: docker stages: - - vendor - build - deploy before_script: - docker login -u itytophile -p $DOCKER_TOKEN -vendor: - stage: vendor - image: rust:alpine - tags: - - docker - cache: - key: vendor - paths: - - vendor/ - script: - - cargo vendor - build-slave: stage: build tags: - docker script: - - docker build -f docker/Dockerfile.slave -t itytophile/slave . + - docker build -f docker/Dockerfile.slave-ci -t itytophile/slave . build-server: stage: build tags: - docker script: - - docker build -f docker/Dockerfile.server -t itytophile/server . + - docker build -f docker/Dockerfile.server-ci -t itytophile/server . diff --git a/docker/Dockerfile.server-ci b/docker/Dockerfile.server-ci new file mode 100644 index 0000000..b52e3ce --- /dev/null +++ b/docker/Dockerfile.server-ci @@ -0,0 +1,13 @@ +FROM rust:alpine AS builder + +RUN apk update +RUN apk add clang musl-dev +COPY . . +RUN cargo build --bin server --release +RUN strip target/release/server + +FROM busybox + +COPY --from=builder /target/release/server . + +ENTRYPOINT ["/server"] diff --git a/docker/Dockerfile.slave-ci b/docker/Dockerfile.slave-ci new file mode 100644 index 0000000..bf885ab --- /dev/null +++ b/docker/Dockerfile.slave-ci @@ -0,0 +1,13 @@ +FROM rust:alpine AS builder + +RUN apk update +RUN apk add clang musl-dev +COPY . . +RUN cargo build --bin slave --release +RUN strip target/release/slave + +FROM busybox + +COPY --from=builder /target/release/slave . + +ENTRYPOINT ["/slave"] -- GitLab From 38c27ce85946c7b8d13aaf5ef59aa07d771283d4 Mon Sep 17 00:00:00 2001 From: Imran Tierce Date: Sun, 16 Jan 2022 14:42:33 +0100 Subject: [PATCH 11/11] Add deploy stage --- .gitlab-ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 03f991e..81be282 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,3 +20,11 @@ build-server: - docker script: - docker build -f docker/Dockerfile.server-ci -t itytophile/server . + +deploy: + stage: deploy + tags: + - docker + script: + - docker push itytophile/slave + - docker push itytophile/server \ No newline at end of file -- GitLab