gen*_*afa 11 ftp jenkins jenkins-pipeline
我正在使用新的Jenkins2管道来构建一个组合项目:
两者都在不同的存储库中,因此需要使用管道来同步它们,编译并准备它们进行部署.我找不到使用FTP部署的简单方法.
我的脚本看起来像这样:
node {
// uncomment these 2 lines and edit the name 'node-4.4.5' according to what you choose in configuration
def nodeHome = tool name: 'NodeJS 7.2.1', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation'
env.PATH = "${nodeHome}/bin:${env.PATH}"
stage("front") {
dir('front') { // switch to subdir
git url: ...
sh "npm install"
sh "npm run build --prod"
sh "cp -R * ../dist"
}
}
stage("back") {
dir('back') {
git url: ...
sh 'curl -sS https://getcomposer.org/installer | php'
sh 'php composer.phar install'
sh "cp -R * ../dist"
}
}
stage("upload via ftp") {
// IM NOT SURE WHAT TO DO HERE
}
}
Run Code Online (Sandbox Code Playgroud)
更新2016-12-16
澄清我需要的是一种运行类似于"通过FTP发布"的方法,如旧版本的Jenkins.
fra*_*mes 12
Jenkins Publish Over FTP插件从版本1.15开始支持Pipeline.
我的Jenkins文件中的一个片段,它将一些文件发送到我们的服务器:
stage('Upload')
{
ftpPublisher alwaysPublishFromMaster: true, continueOnError: false, failOnError: false, publishers: [
[configName: 'YOUR_CONFIG_HERE', transfers: [
[asciiMode: false, cleanRemote: false, excludes: '', flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: "YOUR_DIRECTORY_HERE", remoteDirectorySDF: false, removePrefix: '', sourceFiles: '**.exe, **.txt']
], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: true]
]
}
Run Code Online (Sandbox Code Playgroud)
由于这是 google 上的顶级链接之一,而其他答案不起作用,我将继续添加我的两分钱。
这是我正在使用的工作管道阶段:
stage ('Deploy') {
steps {
ftpPublisher alwaysPublishFromMaster: true,
continueOnError: false,
failOnError: false,
masterNodeName: '',
paramPublish: null,
publishers: [[configName: 'External Host', transfers: [[asciiMode: false, cleanRemote: true, excludes: '', flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: 'public', sourceFiles: 'public/*,public/**/*']], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false]]
}
Run Code Online (Sandbox Code Playgroud)
这里的魔法是
在publishers 块中,这些设置与transfers 下旧样式Jenkins 配置中定义的内容相匹配,因此请参阅该设置以了解详细信息。
我希望这可以帮助未来在管道中使用 ftpPublisher 插件的人。
归档时间: |
|
查看次数: |
7050 次 |
最近记录: |