def getHost(ip){
def remote = [:]
remote.name = 'server-${ip}'
remote.host = ip
remote.port = 22
remote.allowAnyHosts = true
withCredentials([usernamePassword(credentialsId: '31ed3f9c-3e80-496d-9733-98b78db29128', passwordVariable: 'password', usernameVariable: 'userName')]) {
remote.user = "${userName}"
remote.password = "${password}"
}
return remote
}
def imageName="10.1.80.126:9001/library/etecsa-server-config-test"
def imageTag="latest"
def prjName="etecsa-server-config-test"
def register="http://10.1.80.126:9001"
pipeline {
agent any
environment{
def server = ''
}
stages {
stage('init-server'){
steps {
script {
server = getHost("10.1.80.126")
}
}
}
stage('Pre'){
steps {
sh label: '', script: """ if [ \$(docker ps -a | grep -i $imageName | wc -l) -eq 1 ]; then
docker stop $prjName
docker rm -v -f $prjName
fi
if [ \$(docker images | grep -i $imageName | wc -l) -eq 1 ]; then
docker rmi -f $imageName
fi
"""
}
}
stage('BuildJar') {
steps {
echo '拉取代碼'
checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, credentialsId: '8be443f3-8a57-4ce3-9905-1433c9f1b333', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: 'svn://10.1.80.111/ETECSA-SERVER']], quietOperation: true, workspaceUpdater: [$class: 'UpdateUpdater']])
withMaven(maven: 'maven', mavenSettingsConfig: '62b4b95d-fe93-45f7-8eea-e551823d1b98') {
sh label: '', script: 'mvn clean install -pl ETECSA-SERVER-CONFIG-CENTER -am -amd -Dmaven.test.skip=true'
}
}
}
stage('DockerBuild') {
steps {
dir ("ETECSA-SERVER-CONFIG-CENTER/") {
script {
def image = docker.build("$imageName:$imageTag")
docker.withRegistry("$register", 'a2609603-66d9-4cfe-9ddf-e8ace35c1279'){
image.push()
}
}
}
}
}
stage('Run'){
steps {
script {
sshCommand remote: server, command: """
svn checkout svn://10.1.80.111/ETECSA-SERVER/DOCKER-COMPOSE --username zhanghao --password 123456
cd DOCKER-COMPOSE
docker-compose up -d $prjName
"""
}
}
}
}
}
jenkins pipline 腳本
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來默伍,“玉大人欢嘿,你說我怎么就攤上這事衰琐。” “怎么了炼蹦?”我有些...
- 文/不壞的土叔 我叫張陵羡宙,是天一觀的道長。 經(jīng)常有香客問我掐隐,道長狗热,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任虑省,我火速辦了婚禮匿刮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘探颈。我一直安慰自己熟丸,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布伪节。 她就那樣靜靜地躺著光羞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪怀大。 梳的紋絲不亂的頭發(fā)上纱兑,一...
- 文/蒼蘭香墨 我猛地睜開眼钓瞭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了淫奔?” 一聲冷哼從身側(cè)響起山涡,我...
- 正文 年R本政府宣布,位于F島的核電站呆贿,受9級特大地震影響嚷兔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜做入,卻給世界環(huán)境...
- 文/蒙蒙 一冒晰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧竟块,春花似錦壶运、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至秫逝,卻和暖如春恕出,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背违帆。 一陣腳步聲響...