一、Jenkinsfile理解
Jenkins Pipeline 提供了一套可擴(kuò)展的工具,用于將“簡(jiǎn)單到復(fù)雜”的交付流程實(shí)現(xiàn)為“持續(xù)交付即代碼”。Jenkins Pipeline 的定義通常被寫入到一個(gè)文本文件(稱為 Jenkinsfile )中,該文件可以被放入項(xiàng)目的源代碼控制庫(kù)中(即把Jenkinsfile文件放到gitlab的代碼倉(cāng)庫(kù)中,Jenkins構(gòu)建任務(wù)時(shí),拉取該倉(cāng)庫(kù)到本地,然后讀取Jenkinsfile的內(nèi)容,執(zhí)行相關(guān)的步驟)。
?
?
?
二、實(shí)驗(yàn)?zāi)康?/h3>
通過Jenkinsfile文件,控制Jenkins版本發(fā)布,首先拉取指定的遠(yuǎn)程倉(cāng)庫(kù)文件到j(luò)enkins節(jié)點(diǎn)服務(wù)器上, 然后獲取倉(cāng)庫(kù)文件下的Jenkinsfile文件內(nèi)容,執(zhí)行里面相關(guān)的內(nèi)容,如:
1、打印當(dāng)前的環(huán)境變量
2、構(gòu)建鏡像
3、創(chuàng)建deployment?
?
?
三、整理myblog 項(xiàng)目倉(cāng)庫(kù)內(nèi)容
1、在gitlab myblog項(xiàng)目中新建Jenkinsfile文件,內(nèi)容如下:?
pipeline {
agent { label '10.3.153.202'} #指定在那臺(tái)Jenkins節(jié)點(diǎn)上運(yùn)行
stages {
stage('更新開始') {
steps {
echo '更新開始'
sh 'printenv'
}
}
stage('build-image') {
steps {
retry(2) { sh 'docker build . -t myblog:latest'} #構(gòu)建鏡像
}
}
stage('deploy') {
steps {
timeout(time: 1, unit: 'MINUTES') {sh "kubectl apply -f deploy/" #創(chuàng)建deployment
}
}
}
}
}
2、在gitlab myblog 中創(chuàng)建Dockerfile文件與deploy文件夾的app.yaml(具體內(nèi)容省略)?
3、把以上創(chuàng)建的文件與文件夾推送到gitlab倉(cāng)庫(kù)
?
?
?
四、Jenkins操作步驟
1、在項(xiàng)目中選擇"Pipeline script from SCM"?
2、選擇我們要拉取的代碼文章來源:http://www.zghlxwxcb.cn/news/detail-703768.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-703768.html
到了這里,關(guān)于Jenkins Jenkinsfile管理 Pipeline script from SCM的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!