From 8446c23b3976772a913aebe12ff3f4017865173e Mon Sep 17 00:00:00 2001 From: c0repwn3r Date: Fri, 21 Apr 2023 19:16:11 -0400 Subject: [PATCH] other jenkinsfiles --- Jenkinsfile | 3 +-- beta.Jenkinsfile | 27 +++++++++++++++++++++++++++ spacetime | 42 +++++++++++++++++++++++++++++++++++------- stable.Jenkinsfile | 27 +++++++++++++++++++++++++++ 4 files changed, 90 insertions(+), 9 deletions(-) create mode 100644 beta.Jenkinsfile create mode 100644 stable.Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile index f96962faf8ea1c8bbac59e0c3d2aba868d4e98f6..0e074042c982591199e5d7d2e27cfb5b1883ff20 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -20,8 +20,7 @@ pipeline { stage('Docker') { steps { sh 'docker login registry.gitlab.com -u ${DOCKER_LOGIN_CREDS_USR} -p ${DOCKER_LOGIN_CREDS_PSW}' - sh 'STK_CHANNEL=bleeding STK_BUILD_NUM=${BUILD_NUMBER} ./spacetime build_docker_api' - sh 'STK_CHANNEL=bleeding STK_BUILD_NUM=${BUILD_NUMBER} ./spacetime build_docker_server' + sh 'STK_CHANNEL=bleeding STK_BUILD_NUM=${BUILD_NUMBER} ./spacetime build_docker' } } } diff --git a/beta.Jenkinsfile b/beta.Jenkinsfile new file mode 100644 index 0000000000000000000000000000000000000000..6d61d44a053c9d37b88055bd6612fa3c937fbaeb --- /dev/null +++ b/beta.Jenkinsfile @@ -0,0 +1,27 @@ +pipeline { + agent any + + environment { + DOCKER_LOGIN_CREDS = credentials('gitlab-docker-key') + PATH = "/var/lib/jenkins/.cargo/bin:$PATH" + } + + stages { + stage('Build') { + steps { + sh 'cargo build --locked' + } + } + stage('Clippy') { + steps { + sh 'cargo clippy --locked' + } + } + stage('Docker') { + steps { + sh 'docker login registry.gitlab.com -u ${DOCKER_LOGIN_CREDS_USR} -p ${DOCKER_LOGIN_CREDS_PSW}' + sh 'STK_CHANNEL=beta STK_BUILD_NUM=${BUILD_NUMBER} ./spacetime build_docker_beta' + } + } + } +} \ No newline at end of file diff --git a/spacetime b/spacetime index 74c8747979f7a7373d7d4e7840fc047867dc835c..e0d7d99753a0c26d21a53303e581d552e01e6b2c 100755 --- a/spacetime +++ b/spacetime @@ -172,7 +172,13 @@ build_docker() { docker buildx build -f "$SCRIPT_DIR/$1".Dockerfile -t registry.gitlab.com/starkingdoms.tk/starkingdoms.tk:"$1"-"$2" "$SCRIPT_DIR" docker push registry.gitlab.com/starkingdoms.tk/starkingdoms.tk:"$1"-$(git rev-parse --short HEAD) docker push registry.gitlab.com/starkingdoms.tk/starkingdoms.tk:"$1"-"$2" +} +swap_out_server_for() { + echo "[*] Swapping out API server" + sed -i'orig' "s/let api_server = \"http:\\/\\/localhost:8080\";/let api_server = \"https:\\/\\/api.$1.$2\";/" "$SCRIPT_DIR/client/index.html" + echo "[*] Swapping out game server" + sed -i "s/let servers = [\"localhost:3000\"];/let servers = [\"https:\\/\\/$1.$2\"];/" "$SCRIPT_DIR/client/index.html" } sub_build_docker_api() { @@ -185,19 +191,18 @@ sub_build_docker_server() { build_docker "server" "bleeding" } -swap_out_server_for() { - echo "[*] Swapping out API server" - sed -i'orig' "s/let api_server = \"http:\\/\\/localhost:8080\";/let api_server = \"https:\\/\\/api.$1.$2\";/" "$SCRIPT_DIR/client/index.html" - echo "[*] Swapping out game server" - sed -i "s/let servers = [\"localhost:3000\"];/let servers = [\"https:\\/\\/$1.$2\"];/" "$SCRIPT_DIR/client/index.html" -} - sub_build_docker_web() { swap_out_server_for "bleeding" "starkingdoms.io" build_docker "web" "bleeding" mv "$SCRIPT_DIR/client/index.htmlorig" "$SCRIPT_DIR/client/index.html" } +sub_build_docker_web_stable() { + swap_out_server_for "stable" "starkingdoms.io" + build_docker "web" "stable" + mv "$SCRIPT_DIR/client/index.htmlorig" "$SCRIPT_DIR/client/index.html" +} + sub_build_docker_api_stable() { sub_build_api_prod build_docker "api" "stable" @@ -208,12 +213,35 @@ sub_build_docker_server_stable() { build_docker "server" "stable" } + +sub_build_docker_api_beta() { + sub_build_api_prod + build_docker "api" "beta" +} + +sub_build_docker_server_beta() { + sub_build_server_prod + build_docker "server" "beta" +} + +sub_build_docker_web_beta() { + swap_out_server_for "beta" "starkingdoms.io" + build_docker "web" "beta" + mv "$SCRIPT_DIR/client/index.htmlorig" "$SCRIPT_DIR/client/index.html" +} + sub_build_docker() { sub_build_docker_api sub_build_docker_server sub_build_docker_web } +sub_build_docker_beta() { + sub_build_docker_api_beta + sub_build_docker_server_beta + sub_build_docker_web_beta +} + sub_build_docker_stable() { sub_build_docker_api_stable sub_build_docker_server_stable diff --git a/stable.Jenkinsfile b/stable.Jenkinsfile new file mode 100644 index 0000000000000000000000000000000000000000..e2d2a17dfe90171bc8c2d0f35791fcc7247793e3 --- /dev/null +++ b/stable.Jenkinsfile @@ -0,0 +1,27 @@ +pipeline { + agent any + + environment { + DOCKER_LOGIN_CREDS = credentials('gitlab-docker-key') + PATH = "/var/lib/jenkins/.cargo/bin:$PATH" + } + + stages { + stage('Build') { + steps { + sh 'cargo build --locked' + } + } + stage('Clippy') { + steps { + sh 'cargo clippy --locked' + } + } + stage('Docker') { + steps { + sh 'docker login registry.gitlab.com -u ${DOCKER_LOGIN_CREDS_USR} -p ${DOCKER_LOGIN_CREDS_PSW}' + sh 'STK_CHANNEL=stable STK_BUILD_NUM=${BUILD_NUMBER} ./spacetime build_docker_stable' + } + } + } +} \ No newline at end of file