【问题标题】:Using Jenkins - Build Environment使用 Jenkins - 构建环境
【发布时间】:2018-09-30 18:03:48
【问题描述】:

我有一个 Jenkins 服务器,负责构建和部署我的所有微服务。但是,这些微服务中的每一个都需要不同版本的库来构建和部署。在 Jenkins 中分离这种构建环境的最佳方法是什么?是使用奴隶吗?有没有涉及 Docker 的解决方案?

【问题讨论】:

  • 你能指定你指的是哪个构建环境吗?是Java吗?马文?不同的数据库?还是 Perl、Python 等的脚本库?也许您在谈论 .repository 工件?

标签: jenkins docker continuous-integration continuous-deployment


【解决方案1】:

不确定这些库是 python、ruby 还是其他库。使用python 作为示例。

为每个应用程序单独构建requirements.txt,在 requirements.txt 中,您可以为每个库或包定义版本。

https://pip.readthedocs.io/en/1.1/requirements.html

MyApp
Framework==0.9.4
Library>=0.2

在 Jenkins 中,安装名为 shiningpanda 的插件,在 virtualenv builder 中使用自己的构建环境定义作业。

pip install -r requirements.txt

# run your application here. 

如果您的应用程序是 ruby​​、java 或其他应用程序,您应该可以找到类似的插件。

【讨论】:

    【解决方案2】:

    每个微服务都应该是它自己的构建工作。 Jenkins 将每个作业的工作区分开,因此它们不应相互覆盖。理想情况下,每个微服务都在其自己的源代码存储库或子文件夹中。在 Jenkins 的工作定义中,您可以指向每个特定的微服务仓库。 HTH。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-09
      • 2013-08-07
      • 2012-05-11
      • 2019-07-02
      • 1970-01-01
      • 2015-12-08
      • 2011-10-10
      • 2015-07-09
      相关资源
      最近更新 更多