Initial commit.
This commit is contained in:
5
template/Jenkinsfile
vendored
5
template/Jenkinsfile
vendored
@@ -24,10 +24,13 @@ spec:
|
||||
stage('Kubernetes Deploy') {
|
||||
steps {
|
||||
container("deploy") {
|
||||
withCredentials([string(credentialsId: "{{deploySecret}}", variable: "postgresPassword")]) {
|
||||
sh 'curl -LO "https://storage.googleapis.com/kubernetes-release/release/v1.24.3/bin/linux/arm64/kubectl"'
|
||||
sh 'chmod u+x ./kubectl'
|
||||
sh 'sed -ie "s/{{replaceMe}}/`date +%s`/g" `pwd`/cicd/'+env.BRANCH_NAME+'/deployment.yaml'
|
||||
sh './kubectl replace -f `pwd`/cicd/'+env.BRANCH_NAME+'/deployment.yaml'
|
||||
sh 'sed -ie "s/{{postgresPassword}}/${postgresPassword}/g" `pwd`/cicd/'+env.BRANCH_NAME+'/deployment.yaml'
|
||||
sh './kubectl apply -f `pwd`/cicd/'+env.BRANCH_NAME+'/deployment.yaml'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{k3sApp}}-{{k3sEnv}}-svc
|
||||
name: {{k3sApp}}-svc
|
||||
namespace: {{k3sNamespace}}
|
||||
spec:
|
||||
type: NodePort
|
||||
selector:
|
||||
app: {{k3sApp}}-{{k3sEnv}}
|
||||
app: {{k3sApp}}
|
||||
ports:
|
||||
- name: http
|
||||
nodePort: {{k3sport}}
|
||||
@@ -17,35 +17,36 @@ spec:
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{k3sApp}}-{{k3sEnv}}
|
||||
name: {{k3sApp}}
|
||||
namespace: {{k3sNamespace}}
|
||||
spec:
|
||||
replicas: 1
|
||||
strategy:
|
||||
rollingUpdate:
|
||||
maxSurge: 1
|
||||
maxUnavailable: 1
|
||||
type: RollingUpdate
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{k3sApp}}-{{k3sEnv}}
|
||||
app: {{k3sApp}}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: {{k3sApp}}-{{k3sEnv}}
|
||||
app: {{k3sApp}}
|
||||
delpoymentDate: "{{replaceMe}}"
|
||||
spec:
|
||||
containers:
|
||||
- name: {{k3sApp}}-{{k3sEnv}}
|
||||
image: 192.168.195.195:30000/{{k3sApp}}:{{k3sEnv}}
|
||||
- name: postgis
|
||||
image: {{k3sContainerBase}}
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: POSTGRES_PASSWORD
|
||||
value: {{postgresPassword}}
|
||||
- name: PGDATA
|
||||
value: /var/lib/postgresql/data/pgdata
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 5432
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 5432
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 5
|
||||
successThreshold: 1
|
||||
volumeMounts:
|
||||
- mountPath: /var/lib/postgresql/data
|
||||
name: postgis-volume
|
||||
volumes:
|
||||
- name: postgis-volume
|
||||
hostPath:
|
||||
path: /home/victor/cluster/postgis/{{k3sApp}}
|
||||
type: ""
|
||||
@@ -14,11 +14,13 @@ then
|
||||
echo "Configuring local settings"
|
||||
read -p " Local port to expose DB on? [eg 5432] " localPort
|
||||
read -p " Postgres container to use? [eg postgis/postgis:latest] " localContainer
|
||||
read -p " Superuser password? " postgresPassword
|
||||
|
||||
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
|
||||
sed -ie "s|{{postgresPassword}}|$postgresPassword|g" start.sh
|
||||
chmod +x start.sh
|
||||
rm start.she
|
||||
fi
|
||||
@@ -30,11 +32,11 @@ then
|
||||
echo "Configuring deployment settings. See the Readme for info on deployable branches."
|
||||
read -p " K3S App name: " k3sApp
|
||||
read -p " K3S namespace: [eg utility] " k3sNamespace
|
||||
read -p " K3S base container: [eg postgis/postgis:latest] " k3sContainerBase
|
||||
read -p " K3S container: [eg postgis/postgis:latest] " k3sContainerBase
|
||||
read -p " K3S NodePort: " k3sport
|
||||
read -p " Superuser Password Secret ID: " deploySecret
|
||||
|
||||
k3sportMain=$((k3sport+1))
|
||||
k3sportStage=$((k3sport+2))
|
||||
|
||||
echo "Creating Folders"
|
||||
echo " Creating cicd/"
|
||||
@@ -46,26 +48,30 @@ then
|
||||
echo " Loading cicd/Jenkinsfile"
|
||||
cp template/Jenkinsfile cicd/Jenkinsfile
|
||||
sed -ie "s|{{k3sApp}}|$k3sApp|g" cicd/Jenkinsfile
|
||||
sed -ie "s|{{deploySecret}}|$deploySecret|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|{{k3sApp}}|$k3sApp|g" cicd/main/Dockerfile
|
||||
sed -ie "s|{{k3sNamespace}}|$k3sNamespace|g" cicd/main/Dockerfile
|
||||
sed -ie "s|{{k3sContainerBase}}|$k3sContainerBase|g" cicd/main/Dockerfile
|
||||
sed -ie "s|{{k3sport}}|$k3sport|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|{{k3sport}}|$k3sport|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
|
||||
sed -ie "s|{{k3sContainerBase}}|$k3sContainerBase|g" cicd/main/deployment.yaml
|
||||
rm cicd/main/deployment.yamle
|
||||
|
||||
fi
|
||||
|
||||
echo "Removing template folder"
|
||||
rm -rf template
|
||||
# rm -rf template
|
||||
|
||||
echo "Thank you! Happy building..."
|
||||
@@ -3,4 +3,4 @@ echo ""
|
||||
echo "Starting an Postgres container listening on http://localhost:{{localPort}}"
|
||||
echo ""
|
||||
echo ""
|
||||
docker run --rm -v $(pwd)/data/:/var/lib/postgresql/data/ -p {{localPort}}:80 {{localContainer}}
|
||||
docker run --rm -v $(pwd)/data/:/var/lib/postgresql/data/ -e POSTGRES_PASSWORD={{postgresPassword}} -p {{localPort}}:80 {{localContainer}}
|
||||
Reference in New Issue
Block a user