jenkins學習筆記

Jenkins 是一款流行的開源持續集成(Continuous Integration)工具,普遍用於項目開發,具備自動化構建、測試和部署等功能。本系列博客以 windows 10 環境爲例html

 

1 安裝jdk

1 Jenkins 自身採用 Java 開發,因此要必須安裝 JDK; 

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmljava

 

 2 配置環境變量

 

 

 

2 安裝 Jenkins

一、官網: https://jenkins.io/, 下載 LTS(穩定版)安裝便可,windows安裝很簡單,直接雙擊msi文件安裝便可,

建議先改一下工做主目錄,請看第6 配置node

安裝後程序會自動建立了一個windows服務,Jenkins默認使用的端口是8080,在瀏覽器中輸入地址:http://localhost:8080/,可打開界面python

二、安裝完後會在安裝目錄下的secrets文件夾下有一個initialAdminPassword文件,裏面有初次的初始密碼,登錄localhost:8080的時候 第一次須要用到,個人安裝路徑是默認路徑C:\Program Files (x86)\Jenkins

如圖

三、接下來插件安裝,選左邊建議的就行,畢竟插件能夠隨時安裝,須要啥裝啥,不必糾結這一步、

四、設置登錄帳戶

 五、安裝插件

非必須的git

我本次的項目是.net程序,使用git管理代碼web

因此須要安裝git插件。MSBuild是在.NET 2.0中引入的針對Visual Studio的構建系統。它能夠執行構建腳本,完成各類Task──最主要的是把.NET項目編譯成可執行文件或者DLL,須要安裝mubuild插件c#

安裝git 插件(沒有安裝git的,參考安裝教程

若是按照上面的配置,git插件默認是已經安裝上的,若是沒有安裝,能夠這樣安裝windows

系統管理 -》插件管理-》installed  查看已安裝的插件,若是沒有git plugings就須要安裝瀏覽器

系統管理 -》插件管理-》Avaliable 找到git plugin 下載安裝bash

若是驗證git plugin已經安裝上了呢

New 任務-》肯定建立後-》source code management 若是看到了git這個選項,證實git插件已經安裝上了

 好接下來配置git

 

 

從gitlab上面拷貝項目是須要登錄的,這裏咱們配置密鑰後,才能夠將項目代碼克隆下來

 

 

一、先在jenkins服務所在主機上,生成ssh密鑰對,方法以下:這是Linux下的,windows同樣,個人生成後在C:\Users\admin\.ssh

要進行下面的操做得先安裝git

若是是win7 ssh-keygen -t rsa 後會報錯沒有這個指令

能夠這樣

git bash下-》

 

而後在 C:user/admin/.ssh下面就能看到

 

win10下就按下面得操做

[root@node1 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
bf:1e:4d:b3:0f:fb:8b:71:cd:ef:d3:70:69:a4:46:ff root@node1.chinasoft.com
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| . . |
| S + + .|
| . o =.*.|
| o * oo=|
| o B .E|
| .o o.+o+|
+-----------------+
[root@node1 ~]# cat .ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3vhfbA4NdkP8g1WVyYkw93f1PZ04nWoyFnoerC9b40jIY5px+tkugdy/RZ3/bp4hMC5yNgV1S25Tm8RpzBJMp7pbJz8dO+LCKqUnXq9Eh0QhsZE0xlQN+J4awy9YIGiD2nFg7k/ZzeAtQRzNryrrPnKaWpXtg7tMGGTWBjeyLAVuqCOMU7euY94G26UmVfjDLIJkcJqB+8dwvodW3wpmUER32qVPKZLnSYSOCfoNed+P4Eujs5PBCLuzFvGyiDhY2Pwrk/4S11jWUa7TJItfoPXzeGc/ujaJi/o24dt8VXeFa/Rm4wywYLNW3TRjXy1mPpdVlob3701MMQ0bf3qPv root@node1.chinasoft.com

 

 id_rsa:私鑰

id_rsa.pub:公鑰

二、在gitlab上配置公鑰

1

 2

 

 3 把公鑰複製到key裏面,Title會自動填充,也能夠改爲容易識別的名字

 

 

三、在jenkins上配置私鑰

 有兩種方式都能配置,一種全局配置,一種在新建task中配置全局密鑰

全局配置:

1

 

 

3

4

 

 

好了,這算是配置完成了,能夠嘗試從git拉取項目代碼了

 

下面來測試一下

新建一個任務

 

保存並構建,藍色:成功   紅色:失敗

能夠查看輸出

 

 

安裝MSbuild

這個安裝比較簡單,下載安裝後,配置一下

 

 

插件安裝後要重啓jenkins

 

6 jenkins 配置

非必須的

主目錄修改

jenkins的工做路徑默認在安裝盤中:個人在C:\Program Files (x86)\Jenkins\workspace,顯然咱們不想把構建的項目放在c盤下吧,怎麼辦呢,改工做路徑

改工做路徑最好一開始就改好,不然會很麻煩,若是你配置並投入了運行再改的話,按照我下面的方法配置,會發現這至關於一個全新的服務,以前的配置和插件都沒有了,固然網上也有解決辦法,我沒試

這是win10上的操做

一、添加環境變量JENKINS_HOME 值是工做主目錄

二、建立你的主目錄 D:\mywork\jenkins

三、修改配置文件,jenkins.xml   C:\Program Files (x86)\Jenkins\jenkins.xml

若是沒權限改的話,先拷貝出來,改好後再拷貝進去

將這一句

<env name="JENKINS_HOME" value="%BASE%"/>

改成

<env name="JENKINS_HOME" value="%JENKINS_HOME%"/>

 四、重啓或者啓動

重啓: localhost:8080/restart

退出:localhost:8080/exit

重啓或退出後若是出現網頁打不開了,能夠看一下jenkins服務是否沒有起來,個人電腦-》管理-》服務和應用程序-》服務

 

若是沒有啓動就手動起一下,個人就是手動起來的,而後就行了

若是要卸載,能夠先把服務停了,直接將jenkis文件夾刪除就行了,而後從新安裝

五、看一下主目錄

 

 建立用戶

系統管理-》用戶管理-》建立用戶  這裏要說的是郵箱必須填寫,若是不填寫,不報錯,也不讓你註冊成功。至少個人瀏覽器是這樣的

 構建一個簡單的c#項目

一、準備C#依賴安裝包 

我pc上搭建過c#運行程序,網上說:

首先咱們須要先準備幾個安裝包,將它們安裝到 Windows 上: 

2 配置MSBuild編譯參數

咱們上面已經從gitlab成功拉取項目要代碼了,下面就來編譯一下,咱們要編譯的項目是C#程序,使用MSbuild來編譯構建

 

 

從上往下,依次是

  • 選用的 MSBuild 版本
  • 目標項目或解決方案文件的路徑+文件名
  • MSBuild 參數

 

這裏主要講一下「Command Line Arguments」的配置,更全面的 MSBuild 文檔能夠參閱 MSDN:https://msdn.microsoft.com/zh-CN/library/dd393574.aspx

 

我但願生成一個 C#項目,併發布到文件系統中,主要用到:
/t:Rebuild 從新生成
/p:Configuration=Release Release 生成模式
/p:VisualStudioVersion=12.0 指定子工具集(https://msdn.microsoft.com/zh-cn/library/bb383796.aspx)版本,不設置會報錯

 

好了保存構建吧。這是構建成功後的輸出信息

 

 觸發構建

 定時構建

1、定時構建語法

* * * * *

(五顆星,中間用空格隔開)

第一顆*表示分鐘,取值0~59
第二顆*表示小時,取值0~23
第三顆*表示一個月的第幾天,取值1~31
第四顆*表示第幾月,取值1~12
第五顆*表示一週中的第幾天,取值0~7,其中0和7表明的都是週日

1.每30分鐘構建一次:

H/30 * * * *

2.每2個小時構建一次

H H/2 * * *

3.天天早上8點構建一次

0 8 * * *

4.天天的8點,12點,22點,一天構建3次

0 8,12,22 * * *

(多個時間點,中間用逗號隔開)

Poll SCM

1.Poll SCM:定時檢查源碼變動(根據SCM軟件的版本號),若是有更新就checkout最新code下來,而後執行構建動做

2.若是我想每隔30分鐘檢查一次源碼變化,有變化就執行

 

Job關聯

1.舉個案例場景,好比我下面Job1是web項目打包併發布的構建任務,我想每次打完包發佈後,而後觸發自動化測試Job2的構建。

(固然發佈後,通常會等幾分鐘纔會徹底加載完成,再下一次構建的時候,能夠用python加個腳本sleep幾分鐘)

 咱們設置這樣的執行順序,Test1->Test2->Test3

也就是說,咱們須要在Test2的配置界面設置,構建前,須要勾選Build after other projects are build,而後Test2構建結束後,須要繼續構建Test3.

打開Test2的配置界面

 而後看看Test2的構建後步驟如何設置。

 

 

 

 

 

 https://www.cnblogs.com/reblue520/p/7130914.html

相關文章
相關標籤/搜索