2017-02-27 92 views
1

我最近开始与Jenkins混淆,并且不确定如何将我的web应用程序部署到基本服务器。我已经进入了管道(https://jenkins.io/doc/book/pipeline/),它似乎是一个很棒的工作方式。通过Jenkins部署网络应用程序

当我有点粘有两个点:

  1. 一旦我的回购是内詹金斯我的工作区,我怎么准备好它,所以我只需要部署的应用程序中的文件?例如,当我部署事物时,我不需要我的src/目录或我的Vagrantfile
  2. 如何将我的应用程序部署到服务器?我看遍了各地的例子,但我有点失落,因为似乎有很多方法可以做到这一点。我假设scp或类似的东西...?

为了构建#2,是否有办法将web应用程序部署为事务(一次性)而不是逐个文件?

请让我知道如果我能提供潜在答案的任何信息!

回答

0

我不能给您具体的使用情况,但要做到这一点的常用方法是说话集结和部署模型,在这里你将有2点詹金斯的工作。 “构建”作业将从源代码检出,运行构建命令(如maven或make),并最终“归档”构建工件。后者是底部“后制作操作”标签下的一个选项。

在“部署”的工作,你会抢你所选择的假象。您可以获取单个文件,所有文件以及它们之间的所有文件。这需要使用“复制工件”插件,它允许您复制其他作业生成的文件。现在,您可以在“执行命令”框中运行常用的部署脚本。大多数命令行范例都是开箱即用的,比如设置环境变量。上述

的说明假设你想运行你的应用程序关闭,您已经预设为詹金斯从一台主机。

0
  1. Paul Back提到使用的文物,或第三方artifactory的服务器作为video

  2. 这始终是棘手的,而且容易出错。为什么不转动了新版本全新服务器(力所能及验证一次

0

詹金斯& Ansible是这里的答案。这是我部署到生产的方式,因为我不需要使用任何类似Docker(特定应用程序的问题太多),所以必须以本机方式运行应用程序。快速的例子是

你监测一个特定的分支在gitlab/github或其他任何东西,然后调用一个webhook推/合并等在该分支,在这一点上,你处理任何你需要做的通过运行一个剧本监控该分支的jenkins工作(jenkins)。

在我的情况下,詹金斯和在同一台服务器上运行ansible。詹金斯运行的是一本完美的剧本,可以做我需要做的一切。

例如与ansible,我复制需要在那里,运行CONFIGS /更改文件名等某些文件设置nginx,运行作曲,

你明白了。