Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/amp 30916/migrate amp build process to new jenkins #4365

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
d7951b3
GGW-370: Move amp build to new Jenkins
brianbrix Nov 20, 2024
b22c2cc
GGW-370: Move amp build to new Jenkins
brianbrix Nov 20, 2024
7e99b9a
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
2acab5e
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
43595fe
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
c581f03
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
78e910f
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
bf59f41
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
0c159d5
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
f9ec405
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
48b6bd5
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
18d9042
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
7bc4b06
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
cab4cd6
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
0f64fee
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
f900b51
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
32c4c7a
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
acebe0f
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
71d2aa8
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
9d66d78
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
19c5bf8
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
8362d51
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
629d427
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
f57cc38
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
a5f11be
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
f729a97
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
17d6b0f
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
99da218
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
71dcaa7
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
a174a36
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
c82eb0e
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
7eddb27
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
66ca30e
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
257f000
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
8759a22
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
b6f28c6
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
1701b0e
AMP-30916: MOve amp build to new Jenkins
brianbrix Jan 10, 2025
60f47e8
AMP-30916: Move amp build to new Jenkins
brianbrix Jan 10, 2025
0b2f647
AMP-30916: Move amp build to new Jenkins
brianbrix Jan 10, 2025
050dcb5
AMP-30916: Move amp build to new Jenkins
brianbrix Jan 10, 2025
53bba06
AMP-30916: Move amp build to new Jenkins
brianbrix Jan 10, 2025
e1ff4a6
AMP-30916: Move amp build to new Jenkins
brianbrix Jan 10, 2025
b723fc1
AMP-30916: Move amp build to new Jenkins
brianbrix Jan 10, 2025
093223e
AMP-30916: Move amp build to new Jenkins
brianbrix Jan 10, 2025
0f37207
AMP-30916: Move amp build to new Jenkins
brianbrix Jan 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[submodule "amp/TEMPLATE/ampTemplate/node_modules/amp-boilerplate"]
path = amp/TEMPLATE/ampTemplate/node_modules/amp-boilerplate
url = https://github.com/devgateway/amp-boilerplate.git
url = git@github.com:devgateway/amp-boilerplate.git
[submodule "amp/TEMPLATE/ampTemplate/node_modules/amp-translate"]
path = amp/TEMPLATE/ampTemplate/node_modules/amp-translate
url = https://github.com/devgateway/amp-translate.git
url = git@github.com:devgateway/amp-translate.git
[submodule "amp/TEMPLATE/ampTemplate/node_modules/amp-filter"]
path = amp/TEMPLATE/ampTemplate/node_modules/amp-filter
url = https://github.com/devgateway/amp-filter.git
url = git@github.com:devgateway/amp-filter.git
29 changes: 15 additions & 14 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ def updateGitHubCommitStatus(context, message, state) {
]
])
}

def codeVersion
def countries
def environment
Expand All @@ -62,15 +61,21 @@ stage('Build') {

println "Using environment: ${environment}"

node {
node('ansible') {
checkout scm


// Find AMP version
codeVersion = readMavenPom(file: 'amp/pom.xml').version
println "AMP Version: ${codeVersion}"

//Used in the initial generation of keys when working with a new jenkins instance
//****************************************************************
// sh "ssh-keygen -t rsa -b 4096 -C 'jenkins@${environment}' -f ~/.ssh/id_rsa -N ''"
sh "ssh-keyscan -H ${environment} >> ~/.ssh/known_hosts"
// sh "cat /root/.ssh/id_rsa.pub"
//******************************************************
countries = sh(returnStdout: true,
script: "ssh ${environment} 'cd /opt/amp_dbs && amp-db ls ${codeVersion} | sort'")
script: "ssh ${env.jenkinsUser}@${environment} 'cd /opt/amp_dbs && amp-db ls ${codeVersion} | sort'")
.trim()
if (countries == "") {
println "There are no database backups compatible with ${codeVersion}"
Expand All @@ -96,7 +101,7 @@ stage('Build') {

println "amp url is ${ampUrl}"

node {
node('docker') {
checkout scm

def image = "${dockerRepo}amp/webapp:${tag}"
Expand Down Expand Up @@ -135,19 +140,16 @@ stage('Build') {
}
}
}

def deployed = false

// If this stage fails then next stage will retry deployment. Otherwise next stage will be skipped.
stage('Deploy') {
node {
node('ansible') {
try {
// Find latest database version compatible with ${codeVersion}
dbVersion = sh(returnStdout: true, script: "ssh ${environment} 'cd /opt/amp_dbs && amp-db find ${codeVersion} ${country}'").trim()
dbVersion = sh(returnStdout: true, script: "ssh ${env.jenkinsUser}@${environment} 'cd /opt/amp_dbs && amp-db find ${codeVersion} ${country}'").trim()

// Deploy AMP
sh "ssh ${environment} 'amp-up2 ${tag} ${country} ${dbVersion} ${pgVersion}'"

sh "ssh ${env.jenkinsUser}@${environment} 'amp-up2 ${tag} ${country} ${dbVersion} ${pgVersion}'"
slackSend(channel: 'amp-ci', color: 'good', message: "Deploy AMP - Success\nDeployed ${changePretty} will be ready for testing at ${ampUrl} in about 3 minutes")

deployed = true
Expand All @@ -158,7 +160,6 @@ stage('Deploy') {
}
}
}

// Retry deploy with the same country.
stage('Deploy again') {
if (deployed) {
Expand All @@ -171,7 +172,7 @@ stage('Deploy again') {
}
node {
try {
sh "ssh ${environment} 'amp-up2 ${tag} ${country} ${dbVersion} ${pgVersion}'"
sh "ssh ${env.jenkinsUser}@${environment} 'amp-up2 ${tag} ${country} ${dbVersion} ${pgVersion}'"

slackSend(channel: 'amp-ci', color: 'good', message: "Deploy AMP - Success\nDeployed ${changePretty} will be ready for testing at ${ampUrl} in about 3 minutes")

Expand All @@ -183,4 +184,4 @@ stage('Deploy again') {
}
}
}
}
}