将文件从Bitbucket通过Jenkins复制到生产服务器

时间:2018-03-01 17:53:43

标签: jenkins bitbucket

我已经在bitbucket中获取了我的代码文件并配置了一个jenkins构建作业,以便在bitbucket存储库中发生更改时运行。最后,它必须将文件从repo复制到位于运行应用程序的生产服务器的目录中。

是否可以使用插入jenkins的脚本将文件从repo复制到服务器?

2 个答案:

答案 0 :(得分:0)

我认为您在作业的工作区中有文件。如何通过命令行复制文件?如果要这样做,请为Windows节点插入批处理块或为linux节点插入shell块并使用

cp original_file new_file

答案 1 :(得分:0)

你有2个可能性:

在生产服务器上运行奴隶

在这种情况下,您在生产服务器上运行一个slave,它连接到您的主jenkins。奴隶必须在用户下运行,用户可以编写目录,也可以复制文件。

2这种可能性的变化:

  1. 您可以在主服务器上执行bitbucket存储库的克隆(checkout),然后使用stash使在生成服务器(https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#stash-stash-some-files-to-be-used-later-in-the-build)上运行的从服务器上可以访问这些文件。
  2. 您在生产服务器上运行的slave上运行整个管道,这意味着生产服务器需要访问bitbucket。
  3. 将从站连接到主站有几种可能性:https://wiki.jenkins.io/display/JENKINS/Distributed+builds#Distributedbuilds-Differentwaysofstartingagents

    使用远程复制可能性

    您可以使用例如复制文件。在linux中scp

    这有一些安全隐患:

    • 您必须将制作的密码添加到jenkins凭证存储区并将其传递给复制命令
    • 如果使用密钥(推荐)。您必须将私钥添加到jenkins凭证存储区并将其传递给命令。