Jenkins配置與運行流程實現自動化構建
html
我的的環境及工具: Jenkins 2.190.3 war包 、tomcat9.x、maven3.60、JDK 13.0.一、git2.22.1java
/opt/tomcat/
/opt/maven/
/usr/java/
/usr/src/
webapps/
下 webapps/Jenkins.war
由於 tomcat 默認狀況下,管理器manager只能從運行在同一臺機器上的瀏覽器。
這時候須要修改tomcat的一些配置,這樣咱們纔能有權限遠程訪問tomcat的 manager app 等頁面git
1.配置文件位置: /opt/tomcat/conf/tomcat-users.xml
<!-- 末尾添加--> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx" /> <role rolename="manager-status"/> <user username="tomcat" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status" />
2.兩個配置文件位置:
/opt/tomcat/webapps/manager/META-INF/context.xml /opt/tomcat/webapps/host-manager/META-INF/context.xml
添加
|\d+\.\d+\.\d+\.\d+
<!-- 法一:直接註釋,對我來講無效 --> <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> --> <!-- 法二:把ip改成全部"^.*$" , 對我來講無效 --> <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" /> --> <!-- 法三: 在末尾加上 |\d+\.\d+\.\d+\.\d+ --> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />
3.打開tomcat解壓目錄tomcat/conf/server.xml修改URL地址的編碼解碼字符集
添加URIEncoding="UTF-8"
JavaWeb 的時候get請求帶中文的請求參數不至於亂碼
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout= "20000" redirectPort="8443" URIEncoding="UTF-8"/>
第一步:安裝編譯git時須要的包github
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum install -y gcc perl-ExtUtils-MakeMaker
第二步:刪除已有的gitweb
yum remove git
第三步: Git 官網下載Git最新版tar包,移動到/usr/src目錄下shell
cd /usr/src tar -zxvf git-2.9.3.tar.gz
第四步:編譯安裝apache
cd git-2.9.3 make prefix=/usr/local/git all make prefix=/usr/local/git install echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc source /etc/bashrc
第五步:檢查一下版本號瀏覽器
git --version
啓動tomcat bin/startup.sh
訪問 ip:8080/jenkins
運行 jenkins 初始化
tomcat
能夠根據提示 cat
查看密碼安全
這裏須要連代理安裝插件[選擇推薦的], 也能夠離線安裝
注:
若是這裏不建立管理員用戶 之後退出登陸jenkins 使用的是 admin + 上面 cat 的密碼登陸
若是建立了 lankeren 管理員,那麼原來的admin就失效了,之後都是使用 lankeren 登陸 jenkins
全局安全配置
容許用戶註冊√
,這樣到時候密碼忘了去註冊還能作些操做
全局工具配置
例MAVEN_HOME: opt/apache-maven-3.6.0
例JAVA_HOEM: /opt/jdk1.8.0_121
指定Maven配置位置
opt/apache-maven-3.6.0/conf/settings.xml
新增JDK的位置
別名: MyJDK/opt/jdk1.8.0_121
新增 Maven
別名:MyMavenopt/apache-maven-3.6.0
添加 git 位置/usr/local/git/bin/git
安裝插件 deploy to container
[也是要連代理],可能失敗,網絡不穩定,多試幾回
建立一個 maven (web)工程,要求上傳github/gitee上的項目名目錄下要有pom.xml文件
在 Jenkins 上建立一個新任務 [構建一個自由風格的軟件項目
]
1.源碼管理
None Git √ Subverion
選擇Git
而後配置Git相關的內容
若是選擇 github 1. 配置項目git 2. 同時要配置系統配置 添加 git server 若是選擇 gitee 1. 配置項目裏的 gitee 2. 同時要配置系統配置中的 gitee
項目中配置github 倉庫的URL 是當前項目的克隆與下載那裏的 HTTPS 連接
github中獲取訪問token值,須要一個對項目有寫權限的帳戶
GitHub -> setting -> Developer setting->Personal access tokens->點擊Generate new token
內容以下:
建立成功後,token以下:
全局配置 添加一個 github server
Jenkins中Github配置中添加token憑證
系統管理->添加Github server->添加Secret text憑證->鏈接測試這裏我鏈接測試的時候返回 ERROR 而後沒有管了,能夠正常自動構建
Secret text憑證添加以下:
類型需選擇Secret text,Secret處輸入Github中上面生成的token值
Hook URL默認:ip:port/jenkins/github-webhook
寫到 github項目setting的webhook中settings->webhooks->Add webhook
Connection name
中輸入Gitee
或者你想要的名字Gitee host URL
中輸入碼雲完整 URL地址:https://gitee.com
(碼雲私有化客戶輸入部署的域名)Credentials
中如還未配置碼雲 APIV5 私人令牌,點擊Add
- >Jenkins
Domain
選擇Global credentials
Kind
選擇Gitee API Token
Scope
選擇你須要的範圍Gitee API Token
輸入你的碼雲私人令牌,獲取地址:https://gitee.com/profile/personal_access_tokens ID
,Descripiton
中輸入你想要的 ID 和描述便可。Credentials
選擇配置好的 Gitee APIV5 TokenAdvanced
,可配置是否忽略 SSL 錯誤(適您的Jenkins環境是否支持),並可設置連接測超時時間(適您的網絡環境而定)Test Connection
測試連接是否成功,如失敗請檢查以上 3,5,6 步驟。配置成功後如圖所示
倉庫連接
爲gitee的倉庫HTTPS連接
,帳戶改成 gitee
的帳戶2.進入源碼管理配置中設置的碼雲項目中,進入 管理 -> WebHooks
觸發器配置:Build when a change is pushed to Gitee. Gitee webhook URL
中所示 URL密碼填寫
:觸發器配置第 5 點中配置的 WebHook密碼,不設密碼能夠不填3.構建以及構建後的操做 ( 須要deploy插件,將在target生成的war包
部署到tomcat的/webapps下
apple 爲項目的訪問路徑名字
例:127.0.0.1:8080/apple/index.jsp
4.另外據說要關閉防止跨站點請求僞造
,而後我關閉了,不知道不關閉會不會同樣能用
在 IDEA 中
ok