Sta*_*Luo 6 git jenkins jenkins-pipeline
詹金斯很新.我的存储库是一个monorepo - 包含两个子项目,web_app和native_app.我想使用Jenkins作为CI引擎,这样每次代码推送到repo时,Jenkins都会自动帮助完成构建测试交付工作流程.
我创建了一个管道项目,直觉上我应该创建两个Jenkinsfile,每个都在相关的文件夹下,即:
web_app/
|-Jenkinsfile
native_app/
|-Jenkinsfile
Run Code Online (Sandbox Code Playgroud)
但是,我很快意识到这会导致问题 - 我需要为几乎每个阶段/步骤更改工作目录.试着
stage('Build') {
steps {
sh 'cd ./web_app/'
sh 'ls'
sh 'git pull'
}
}
Run Code Online (Sandbox Code Playgroud)
但不起作用,工作目录不会更改.
我还没有找到一个有效的方法来改变整个管道的工作空间,我担心这个单一结构将导致Jenkins将来出现更多问题.我应该拆分此存储库,还是有一些方便的方法来更改工作目录?
您可以使用dir步骤来更改步骤块的目录。您的示例代码如下所示:
stage('Build') {
dir('web_app') {
sh 'ls'
sh 'git pull'
}
}
Run Code Online (Sandbox Code Playgroud)
dir:更改当前目录
更改当前目录。dir 块内的任何步骤都将使用此目录作为当前目录,任何相对路径都将使用它作为基本路径。小路
类型:字符串
| 归档时间: |
|
| 查看次数: |
4321 次 |
| 最近记录: |