85 lines
4.1 KiB
Groovy
85 lines
4.1 KiB
Groovy
pipeline {
|
|
agent any
|
|
|
|
stages {
|
|
stage('Configuration') {
|
|
steps {
|
|
dir('codiki-properties') {
|
|
git url:'https://gitea.takiguchi.ovh/Codiki/codiki-properties.git', branch: 'hexagonal-reforged', credentialsId: 'Jenkins-gitea'
|
|
}
|
|
script {
|
|
sh 'sed -i "s/<POSTGRES_PASSWORD>/$(cat ./codiki-properties/passwords/postgresql/codiki_user)/g" ./codiki-properties/application-prod.yml'
|
|
sh 'cp ./codiki-properties/application-prod.yml ./backend/codiki-launcher/src/main/resources/application-prod.yml'
|
|
sh 'sed -i "s/<POSTGRES_PASSWORD>/$(cat ./codiki-properties/passwords/postgresql/codiki_admin)/g" ./docker-compose.yml'
|
|
}
|
|
}
|
|
}
|
|
stage('Build') {
|
|
steps {
|
|
script {
|
|
sh """
|
|
sudo /usr/bin/docker build -t codiki-backend -f ./Dockerfile-backend . --no-cache
|
|
sudo /usr/bin/docker build -t codiki-frontend -f ./Dockerfile-frontend . --no-cache
|
|
sudo /usr/bin/docker save codiki-backend:latest -o ./codiki-backend.tar
|
|
sudo /usr/bin/docker save codiki-frontend:latest -o ./codiki-frontend.tar
|
|
sudo chown jenkins:jenkins ./codiki-backend.tar
|
|
sudo chown jenkins:jenkins ./codiki-frontend.tar
|
|
chmod 644 ./codiki-backend.tar
|
|
chmod 644 ./codiki-frontend.tar
|
|
"""
|
|
}
|
|
}
|
|
}
|
|
stage('Deploy') {
|
|
steps {
|
|
sshPublisher(
|
|
publishers: [
|
|
sshPublisherDesc(
|
|
configName: 'DebianServer [codiki]',
|
|
transfers: [
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
excludes: '',
|
|
execCommand: '',
|
|
execTimeout: 120000,
|
|
flatten: false,
|
|
makeEmptyDirs: false,
|
|
noDefaultExcludes: false,
|
|
patternSeparator: '[, ]+',
|
|
remoteDirectory: '',
|
|
remoteDirectorySDF: false,
|
|
removePrefix: '',
|
|
sourceFiles: 'codiki-backend.tar,codiki-frontend.tar,docker-compose.yml'
|
|
),
|
|
sshTransfer(
|
|
cleanRemote: false,
|
|
excludes: '',
|
|
execCommand: """
|
|
cd /opt/codiki
|
|
sudo /usr/bin/docker load < /opt/codiki/codiki-backend.tar
|
|
sudo /usr/bin/docker load < /opt/codiki/codiki-frontend.tar
|
|
sudo /usr/bin/docker compose down
|
|
sudo /usr/bin/docker compose up --detach
|
|
""",
|
|
execTimeout: 120000,
|
|
flatten: false,
|
|
makeEmptyDirs: false,
|
|
noDefaultExcludes: false,
|
|
patternSeparator: '[, ]+',
|
|
remoteDirectory: '',
|
|
remoteDirectorySDF: false,
|
|
removePrefix: '',
|
|
sourceFiles: ''
|
|
)
|
|
],
|
|
usePromotionTimestamp: false,
|
|
useWorkspaceInPromotion: false,
|
|
verbose: true
|
|
)
|
|
]
|
|
)
|
|
}
|
|
}
|
|
}
|
|
}
|