1:git配置,達(dá)到兩個目的,一是拉取代碼肿嘲,二是配合push到倉庫就觸發(fā)jenkins的工作流。
1.1 目標(biāo)一筑公,位了jenkins那邊能拉取到代碼雳窟,git倉庫配置
由于服務(wù)器git配置的是我的git賬號,所以需要走CI流程的項(xiàng)目需要把我的賬號加到項(xiàng)目中 zhangpengfei@iairportcloud.com
1.2:目標(biāo)二提交代碼push之后觸發(fā)jenkins的工作流
在你所在的項(xiàng)目匣屡,Settings - > WebHooks 新建WebHooks
填寫一個url 格式基本是這樣的封救,
http://你的jenkins dashboard的地址/gitlab/notify_commit
我們公司,就填寫如下的地址就ok了
http://122.224.248.26:6666/gitlab/notify_commit
Trigger這里勾選上Push events就好了
2:登錄jenkins dashboard
http://192.168.1.193:8080
3:發(fā)布項(xiàng)目
3.1:發(fā)布一個java項(xiàng)目
3.1.1 拉取代碼
填入需要發(fā)布項(xiàng)目的名稱捣作,選擇 構(gòu)建一個maven 項(xiàng)目誉结,然后點(diǎn)擊 確定
進(jìn)入下一個界面,在源碼管理的地方選擇Git
Repository UR : 這里填入你的倉庫地址券躁,這里需要注意的是:目前僅支持https的方式惩坑,還不支持git的方式
Credentials : 基于第一步git倉庫也添加了我的賬號掉盅,所以這里配置我的賬號拉取代碼即可
Branches to build :Branch Specifier (blank for 'any') 這里 選擇你所需要發(fā)布的分支,一般來說是 master 或者dev
到這一步為止以舒,如何拉取代碼已經(jīng)配置完畢趾痘。
3.1.2:構(gòu)建觸發(fā)器
這里勾選上Poll SCM 就好了,由于我們已經(jīng)在git那邊做了鉤子稀轨,這里勾上Poll SCM ,文本框里面什么內(nèi)容都不填
3.1.3:Pre Steps
在build這里扼脐,填寫Root Pom的地址,這里是指定pom.xml所在的位置奋刽,示例中瓦侮,我們這個工作量為 java-demo,發(fā)布的項(xiàng)目為guest-employee,所以這里地址按照如下的格式寫
/opt/tomcat/.jenkins/workspace/java-demo/guest-employee/pom.xml
這里說一下為什么是這個地址佣谐,這里可以看一下發(fā)布好之后pom.xml所在的位置肚吏,我也是摸索了幾次才發(fā)現(xiàn)這個問題。(這里了解一下就好了)
3.3.4 構(gòu)建后的操作 上一步結(jié)束狭魂,已經(jīng)打包完成罚攀,現(xiàn)在需要部署到服務(wù)器上去。
在下拉框 增加構(gòu)建后的操作步驟 選擇 Send build aritfacts over SSH
SSH server 我已經(jīng)配置好了雌澄,比如要部署到測試環(huán)境斋泄,選擇130-test就好了
Transfers
Source files :選擇target下面的所有文件都打包過去,包含打包后的jar镐牺,lib等
Remove prefix :guest-employee/target
Exec Command: 這里首先切換目錄到你服務(wù)器上的位置炫掐,然后重命名
cd /home/nfs-share/code/test/guest-employee
mv guest-employee-1.0.jar guest-employee.jar
到此位置,就已經(jīng)完成了睬涧。點(diǎn)擊保存募胃。我們現(xiàn)在去構(gòu)建這個job
返回后點(diǎn)擊立即構(gòu)建
接下來:就是看剛跑的job是否success。
出現(xiàn)如下圖中的藍(lán)色圖標(biāo)畦浓,說明就發(fā)布成功了痹束。
4.1:發(fā)布一個go項(xiàng)目
4.1.1go項(xiàng)目的發(fā)布
4.1.2源碼管理
4.1.3 構(gòu)建觸發(fā)器,勾選上Poll SCM
4.1.4:構(gòu)建后的操作
在下拉框 增加構(gòu)建后的操作步驟 選擇 Send build aritfacts over SSH
由于go項(xiàng)目不需要編譯讶请,這里我們只是把代碼pull下來祷嘶,然后上傳到服務(wù)器上去。
ok 保存秽梅,結(jié)束抹蚀。
接下來:就是看剛跑的job是否success。
出現(xiàn)如下圖中的藍(lán)色圖標(biāo)企垦,說明就發(fā)布成功了环壤。
4.1:發(fā)布一個node項(xiàng)目
4.1.1 源碼管理
4.1.2構(gòu)建環(huán)境
勾選上 Provide Node & npm bin/ folder to PATH
NodeJS Installation 選擇我配置好的Node JS的環(huán)境 NodeJS-8.10.0
4.1.3:構(gòu)建
4.1.4構(gòu)建后的操作
在下拉框 增加構(gòu)建后的操作步驟 選擇 Send build aritfacts over SSH
這里配置說明一下,
Source files 是指要拷貝的來源钞诡,這里郑现,對于node項(xiàng)目湃崩,需要拷貝dist下面所有的文件所以這里用了 dist/**
之前遇到的問題:只寫了dist/*,導(dǎo)致只拷貝了dist下面的文件,而沒有拷貝dist下面的文件夾
Remote directory 是指你需要發(fā)布到遠(yuǎn)程地址的目錄
Exec command 是指我們的共享目錄接箫,由于我們系統(tǒng)配置里已經(jīng)寫好了需要發(fā)布的位置攒读,所以這里可以不寫。如下圖所示
接下來:就是看剛跑的job是否success辛友。
出現(xiàn)如下圖中的藍(lán)色圖標(biāo)薄扁,說明就發(fā)布成功了。
系統(tǒng)配置方面
SSH服務(wù)器配置 用戶名 root废累,密碼