summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Baum <ibaum@gitlab.com>2018-10-30 15:30:31 -0500
committerIan Baum <ibaum@gitlab.com>2018-10-30 15:30:31 -0500
commit606267aec629e9f16bfec91708a643240e75a722 (patch)
tree30b876622d16dbea2057f8750519aab610926896
parent73ea78c7a31e8bb5b39774e709f4fd03acf5df85 (diff)
downloadgitlab-ce-add-docker-assets-image.tar.gz
Break asset image build out into separate scriptadd-docker-assets-image
* Allow for better formatting to increase readability
-rw-r--r--.gitlab-ci.yml9
-rwxr-xr-xscripts/build_assets_image21
2 files changed, 22 insertions, 8 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4032464ae71..237e841349f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -720,14 +720,7 @@ gitlab:assets:compile:
- date
- free -m
- bundle exec rake gitlab:assets:compile
- - export ASSETS_IMAGE_NAME=$(echo ${CI_PROJECT_NAME} | awk '{split($1, p, "-"); interim = sprintf("%s-assets-%s", p[1], p[2]); sub(/-$/, "", interim); print interim}')
- - export ASSETS_IMAGE_PATH=${CI_REGISTRY}/${CI_PROJECT_PATH}/${ASSETS_IMAGE_NAME}
- - mkdir -p assets_container.build/public
- - cp -r public/assets assets_container.build/public/
- - cp Dockerfile.assets assets_container.build/
- - docker build -t ${ASSETS_IMAGE_PATH}:${CI_COMMIT_REF_NAME} -f assets_container.build/Dockerfile.assets assets_container.build/
- - docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY}
- - docker push ${ASSETS_IMAGE_PATH}
+ - scripts/build_assets_image
artifacts:
name: webpack-report
expire_in: 31d
diff --git a/scripts/build_assets_image b/scripts/build_assets_image
new file mode 100755
index 00000000000..218606b9a40
--- /dev/null
+++ b/scripts/build_assets_image
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# Generate the image name based on the project this is being run in
+ASSETS_IMAGE_NAME=$(echo ${CI_PROJECT_NAME} |
+ awk '{
+ split($1, p, "-");
+ interim = sprintf("%s-assets-%s", p[1], p[2]);
+ sub(/-$/, "", interim);
+ print interim
+ }'
+)
+
+ASSETS_IMAGE_PATH=${CI_REGISTRY}/${CI_PROJECT_PATH}/${ASSETS_IMAGE_NAME}
+
+mkdir -p assets_container.build/public
+cp -r public/assets assets_container.build/public/
+cp Dockerfile.assets assets_container.build/
+docker build -t ${ASSETS_IMAGE_PATH}:${CI_COMMIT_REF_NAME} -f assets_container.build/Dockerfile.assets assets_container.build/
+docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY}
+docker push ${ASSETS_IMAGE_PATH}
+