feature: updated scripts, Jenkinsfile. added install.sh
This commit is contained in:
@@ -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")
|
||||
|
||||
@@ -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 """
|
||||
#############################################################################
|
||||
|
||||
@@ -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() }
|
||||
|
||||
Reference in New Issue
Block a user