feature: updated scripts, Jenkinsfile. added install.sh

This commit is contained in:
2025-03-08 02:08:53 +03:00
parent cbbb454a35
commit 9d60348b8b
5 changed files with 41 additions and 29 deletions

View File

@@ -86,15 +86,16 @@ for (def dockerfileName : deployDockerfiles) {
throw new IllegalStateException("Build tag was not resolved (empty or null '${dockerReleaseTagToSetup}')")
}
def dockerComposeRollbackFileName = "${dockerComposeFileName}.backup.${System.currentTimeMillis()}.yml"
def dockerComposeRollbackDir = "./${dockerComposeFileName}-rollback-backups"
def dockerComposeRollbackFilePath = "${dockerComposeRollbackDir}/${dockerComposeFileName}.backup.${System.currentTimeMillis()}.yml"
try {
sh """ ssh -tt ${sshDeployProfile} "\\
cd '${dockerComposeDirectory}' && \\
cp ${dockerComposeFileName} ${dockerComposeRollbackFileName} && \\
sed -i 's|image: ${dockerImageToUpdateTagBaseName}:.*|image: ${dockerReleaseImageToSetup}|g' '${dockerComposeFileName}'\\ &&
${dockerComposeBaseCommand} -f '${dockerComposeFileName}' up -d \\
"
mkdir -p ${dockerComposeRollbackDir} && \\
cp ${dockerComposeFileName} ${dockerComposeRollbackFilePath} && \\
sed -i 's|image:.*${dockerImageToUpdateTagBaseName}:.*|image: ${dockerReleaseImageToSetup}|g' '${dockerComposeFileName}' && \\
${dockerComposeBaseCommand} -f '${dockerComposeFileName}' up -d"
"""
} catch (Throwable e) {
ScriptLog.printf("Exception occurred while updating docker-compose tag on deploy, rolling back")
@@ -103,8 +104,8 @@ for (def dockerfileName : deployDockerfiles) {
sh """ ssh -tt ${sshDeployProfile} "\\
cd '${dockerComposeDirectory}' && \\
rm ${dockerComposeFileName} && \\
cp ${dockerComposeRollbackFileName} ${dockerComposeFileName} \\
"
cp ${dockerComposeRollbackFilePath} ${dockerComposeFileName} \\
${dockerComposeBaseCommand} -f '${dockerComposeFileName}' up -d"
"""
ScriptLog.printf("Application restored from backup")

View File

@@ -1,8 +1,5 @@
package script
import util.CIProperties
import util.DockerImageNames
/**
* Скрипт для публикации докер образа при сборке.
@@ -13,7 +10,8 @@ import util.DockerImageNames
@Grab(group='io.tswf.groovy.better-groovy', module='better-groovy-scripting-shell', version='2.0.2-SNAPSHOT', changing = true),
@Grab(group='io.tswf.groovy.better-groovy', module='better-groovy-scripting-gitea', version='2.0.2-SNAPSHOT', changing = true)
])
@groovy.transform.CompileStatic
_
import util.DockerLogin
import util.DockerBuildCommandFactory
import util.DockerTags
@@ -21,6 +19,8 @@ import util.Dockerfiles
import util.GitTags
import util.GlobalProperties
import util.ScriptLog
import util.CIProperties
import util.DockerImageNames
println """
#############################################################################

View File

@@ -9,7 +9,7 @@ class DockerBuildCommandFactory {
def propertyNames = [
"docker.build.${dockerfileName.toLowerCase()}.additional-args",
"docker.build.additional-args"
]
].map { it.toString() }
return propertyNames.stream()
.map { CIProperties.findProperty(it).orNull() }