2017-02-27 88 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,運行作曲,

你明白了。