Files

105 lines
3.7 KiB
Bash
Executable File

#!/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..."