#!/bin/bash #./setup.sh 3000 192.168.195.195:30000/nginx:latest cicd/Jenkinsfile folderName=${PWD##*/} folderName=${folderName:-/} echo "Hello, lets get your project set up. Please follow the prompts attentively." read -p "Do you want to run this project locally? [Yn] " localProject if [ $localProject == 'Y' ] || [ $localProject == 'y' ] then echo "Configuring local settings" read -p " Local port to expose server on? [eg 3000] " localPort read -p " NGINX container to use? [eg nginx/nginx:latest] " localContainer echo " Creating start script" cp template/start.sh start.sh sed -ie "s|{{localPort}}|$localPort|g" start.sh sed -ie "s|{{localContainer}}|$localContainer|g" start.sh chmod +x start.sh rm start.she fi read -p "Are you deploying this with the Sciocatti Jenkins pipeline? [Yn] " useJenkins if [ $useJenkins == 'Y' ] || [ $useJenkins == 'y' ] then echo "Configuring deployment settings. See the Readme for info on deployable branches." read -p " K3S App name: " k3sApp read -p " K3S namespace: [eg apps] " k3sNamespace read -p " K3S base container: [eg nginx:nginx:latest] " k3sContainerBase read -p " K3S prod NodePort: " k3sport k3sportMain=$((k3sport+1)) k3sportStage=$((k3sport+2)) echo "Creating Folders" echo " Creating cicd/" mkdir cicd echo " Creating cicd/prod" mkdir cicd/prod echo " Creating cicd/main" mkdir cicd/main echo " Creating cicd/stage" mkdir cicd/stage echo "Loading files" echo " Loading cicd/Jenkinsfile" cp template/Jenkinsfile cicd/Jenkinsfile sed -ie "s|{{k3sApp}}|$k3sApp|g" cicd/Jenkinsfile rm cicd/Jenkinsfilee echo " Loading main" k3sEnv=main echo " Loading cicd/main/Dockerfile" cp template/Dockerfile cicd/main/Dockerfile sed -ie "s|{{k3sContainerBase}}|$k3sContainerBase|g" cicd/main/Dockerfile rm cicd/main/Dockerfilee echo " Loading cicd/main/deployment.yaml" cp template/deployment.yaml cicd/main/deployment.yaml sed -ie "s|{{k3sApp}}|$k3sApp|g" cicd/main/deployment.yaml sed -ie "s|{{k3sport}}|$k3sportMain|g" cicd/main/deployment.yaml sed -ie "s|{{k3sNamespace}}|$k3sNamespace|g" cicd/main/deployment.yaml sed -ie "s|{{k3sEnv}}|$k3sEnv|g" cicd/main/deployment.yaml rm cicd/main/deployment.yamle echo " Loading stage" k3sEnv=stage echo " Loading cicd/stage/Dockerfile" cp template/Dockerfile cicd/stage/Dockerfile sed -ie "s|{{k3sContainerBase}}|$k3sContainerBase|g" cicd/stage/Dockerfile rm cicd/stage/Dockerfilee echo " Loading cicd/stage/deployment.yaml" cp template/deployment.yaml cicd/stage/deployment.yaml sed -ie "s|{{k3sApp}}|$k3sApp|g" cicd/stage/deployment.yaml sed -ie "s|{{k3sport}}|$k3sportStage|g" cicd/stage/deployment.yaml sed -ie "s|{{k3sNamespace}}|$k3sNamespace|g" cicd/stage/deployment.yaml sed -ie "s|{{k3sEnv}}|$k3sEnv|g" cicd/stage/deployment.yaml rm cicd/stage/deployment.yamle echo " Loading prod" k3sEnv=prod echo " Loading cicd/prod/Dockerfile" cp template/Dockerfile cicd/prod/Dockerfile sed -ie "s|{{k3sContainerBase}}|$k3sContainerBase|g" cicd/prod/Dockerfile rm cicd/prod/Dockerfilee echo " Loading cicd/prod/deployment.yaml" cp template/deployment.yaml cicd/prod/deployment.yaml sed -ie "s|{{k3sApp}}|$k3sApp|g" cicd/prod/deployment.yaml sed -ie "s|{{k3sport}}|$k3sport|g" cicd/prod/deployment.yaml sed -ie "s|{{k3sNamespace}}|$k3sNamespace|g" cicd/prod/deployment.yaml sed -ie "s|{{k3sEnv}}|$k3sEnv|g" cicd/prod/deployment.yaml rm cicd/prod/deployment.yamle fi echo "Removing template folder" rm -rf template echo "Thank you! Happy building..."