JAVA - Jenkins集成Github 成功

1Jenkins集成Github和Git實現(xiàn)自動化部署

1.1Git和Github的區(qū)別

Github是一個基于Git的項目托管平臺媚狰,GitHub 的替代產(chǎn)品有哪些?

Github和Gitlab的區(qū)別躯嫉?

1.2服務器上安裝Java

[root@localhost ~]# yum install java

[root@localhost ~]# java -version

1.3服務器上安裝Git

[root@localhost ~]# yum install git

[root@localhost ~]# git version

1.4服務器上安裝Tomcat

下載地址:https://tomcat.apache.org

[root@localhost ~]# yum install wget

[root@localhost ~]# wget http://mirrors.koehn.com/apache/tomcat/tomcat-9/v9.0.11/bin/apache-tomcat-9.0.11.zip

[root@localhost ~]# yum install unzip

[root@localhost ~]# unzip apache-tomcat-9.0.11.zip

[root@localhost apache-tomcat-9.0.11]# chmod a+x -R *

[root@localhost apache-tomcat-9.0.11]# bin/startup.sh

[root@localhost apache-tomcat-9.0.11]# ps -ef|grep tomcat

開放8080接口

[root@localhost apache-tomcat-9.0.11]# firewall-cmd --zone=public --add-port=8080/tcp --permanent

[root@localhost apache-tomcat-9.0.11]# firewall-cmd --reload

# 查看防火墻

[root@localhost apache-tomcat-9.0.11]# firewall-cmd --list-all

驗證:http://192.168.137.136:8080/

1.5服務器上安裝Maven

[root@localhost ~]# wget http://mirror.metrocast.net/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip

[root@localhost ~]# unzip apache-maven-3.5.4-bin.zip

配置

[root@localhost ~]# cd apache-maven-3.5.4

[root@localhost apache-maven-3.5.4]# pwd

[root@localhost apache-maven-3.5.4]# yum install vim

[root@localhost apache-maven-3.5.4]# vim /etc/profile

#在profile文件末尾加上這兩句:

export MAVEN_HOME=/root/apache-maven-3.5.4

export PATH=$MAVEN_HOME/bin:$PATH

#保存profile文件

[root@localhost apache-maven-3.5.4]# . /etc/profile

驗證

[root@localhost apache-maven-3.5.4]# mvn -version

1.6本地Windows安裝Jenkins

1.6.1下載jenkins.war到C:\Jenkins,下載地址:https://jenkins.io杨拐,打開cmd

用命令來安裝Jenkins失敗祈餐,可以直接跳到下一段;

C:\Jenkins>java -jar jenkins.war

出現(xiàn)了一個錯誤

SEVERE: Running with Java class version 54.0, but 52.0 is required.Run with the --enable-future-java flag to enable such behavior.

Java SE 8 = 52, Jenkins requires Java 8, but you are running 10.0.1+10 from C:\Program Files\Java\jre-10.0.1

官網(wǎng)指南

C:\Jenkins>java --add-modules java.xml.bind -jar jenkins.war --enable-future-java --httpPort=8080 --prefix=/jenkins

最后通過java -jar的方式來啟動Jenkins還是沒有成功:(

雖然成功獲取了如下信息:

Jenkins initial setup is required. An admin user has been created and a password generated.

Please use the following password to proceed to installation:

70baae147267441183b646a27c26c8ef

This may also be found at: C:\Users\hylyn\.jenkins\secrets\initialAdminPassword哄陶。


1.6.2直接安裝Windows安裝包

下載地址:https://jenkins.io帆阳,選擇Windows版

initialAdminPassword:bd498f0a059441818443819ccc54176e

安裝成功:http://localhost:8080/

1.6.3安裝插件

2個插件:Rebuilder和Safe Restart

1.6.4新建節(jié)點

新建一個節(jié)點DIT,開放22端口

[root@localhost apache-maven-3.5.4]# firewall-cmd --zone=public --add-port=22/tcp --permanent

[root@localhost apache-maven-3.5.4]# firewall-cmd --reload

1.6.5測試一個任務

測試成功屋吨,證明Jenkins能正常在Linux服務器上運行

http://localhost:8080/job/TestTask/1/console

1.7本地安裝Git

1.7.1選定項目目錄

clone到本地失敗蜒谤,需要配置與Github的通信

$ git clone git@github.com:hylyn/order.git

1.7.2配置本地Git與Github通信的公鑰

$ git config --global user.name "xxx"

$ git config --global user.email "xxx@gmail.com"

$ ssh-keygen -t rsa -C "xxx@gmail.com"

1.8自動化部署

1.8.1出錯信息1

配置Git在本地的運行地址

且需配置Git在Linux虛擬機上的運行地址


1.8.2出錯信息2

需配置服務端的Git

在服務器上建立Git與Github通信的公鑰

[root@localhost ~]# git config --global user.name "hylyn"

[root@localhost ~]# git config --global user.email "hylyn@gmail.com"

[root@localhost ~]# ssh-keygen -t rsa -C "hylyntan@gmail.com"

[root@localhost ~]# vim /root/.ssh/id_rsa.pub

在Github上添加公鑰后

[root@localhost ~]# ssh git@github.com

執(zhí)行任務成功山宾,總結一下,Windows上集成自動部署有三大坑:

1) 無法用Java 10運行jar包鳍徽,然后無法在Windows上安裝Jenkins;

2) 本地Git的安裝和與Github的通信资锰;

3) 虛擬機上Git的安裝和與Github的通信;

最后終于成功,截圖留念:


1.8.3發(fā)布到Linux服務器

需要在服務器上安裝MySQL

更新pom文件


在服務端安裝JDK,解決‘No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?’的問題

yum install java-1.8.0-openjdk-devel.x86_64

或嘗試

yum install java-1.8.0-openjdk

yum install java-1.8.0-openjdk-devel

1.9開源自己的項目到Github

1.9.1在另一臺電腦上建立Git與Github通信的公鑰

$ git config --global user.name "hylyn"

$ git config --global user.email "hylyn@gmail.com"

$ ssh-keygen -t rsa -C "hylyntan@gmail.com"

配制公鑰到自己的Github賬號:

Settings - SSH and GPG keys

1.9.2Github主頁https://github.com/創(chuàng)建New repository所森,項目在Github上就叫倉庫

1.9.3版本線的概念

C2(子版本)指向C1(父版本) : C2—>C1

1.9.4命令

$ git init

$ git add .

$ git commit -m "first commit"

$ git remote add origin git@github.com:hylyn/samemart-monolith.git

$ git pull origin master

$ git push -u origin master

fatal: refusing to merge unrelated histories的解決方法

git pull origin master --allow-unrelated-histories

1.9.5劃重點

A. 本地倉庫由git維護的三棵“樹"組成:第1個是工作目錄乌妒,它持有實際文件(即可以直接打開修改的文件);第2個是緩存區(qū)(index)涤妒,它像個緩存區(qū)域,臨時保存你的改動;最后一個是HEAD懊缺,指向你最近一次提交后的結果(這個結果還是在本地電腦里面)

B. git push -u origin master相當于 git push origin master 加上 git branch --set-upstream-to=origin/master master

C. git pull origin feature/UX-1400相當于git fetch origin 加上 git merge origin/feature/UX-1400

D. 當團隊協(xié)助時,需從自己修改的分支上拉代碼到Master分支上(pull request)培他;

完整流程:github的項目—>fork到自己的github網(wǎng)站分支—>clone到自己的本地版本—>修改后push到自己的github網(wǎng)站分支—>將自己gitub網(wǎng)站分支pull request到github的原項目

1.9.6清除不想add的文件

$ git reset --hard origin/master

$ git clean -fd

$ git gc

截圖留念:


1.9.6在相應文件夾下用Git Bash創(chuàng)建.gitignore文件

$ touch .gitignore

1.9.7從Github網(wǎng)站創(chuàng)建.gitignore文件


1.9.8從另一臺電腦clone

$ git clone https://github.com/hylyn/samemart.git

1.9.9兩個非常容易混淆的博主

https://www.liaoxuefeng.com/

http://www.ruanyifeng.com

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末鹃两,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子舀凛,更是在濱河造成了極大的恐慌俊扳,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件猛遍,死亡現(xiàn)場離奇詭異馋记,居然都是意外死亡,警方通過查閱死者的電腦和手機懊烤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門梯醒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人腌紧,你說我怎么就攤上這事茸习。” “怎么了壁肋?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵号胚,是天一觀的道長。 經(jīng)常有香客問我浸遗,道長猫胁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任跛锌,我火速辦了婚禮弃秆,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己菠赚,他們只是感情好盼樟,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锈至,像睡著了一般晨缴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上峡捡,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天击碗,我揣著相機與錄音,去河邊找鬼们拙。 笑死稍途,一個胖子當著我的面吹牛,可吹牛的內容都是我干的砚婆。 我是一名探鬼主播械拍,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼装盯!你這毒婦竟也來了坷虑?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤埂奈,失蹤者是張志新(化名)和其女友劉穎迄损,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體账磺,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡芹敌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了垮抗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氏捞。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冒版,靈堂內的尸體忽然破棺而出液茎,到底是詐尸還是另有隱情,我是刑警寧澤壤玫,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布豁护,位于F島的核電站哼凯,受9級特大地震影響欲间,放射性物質發(fā)生泄漏。R本人自食惡果不足惜断部,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一猎贴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦她渴、人聲如沸达址。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沉唠。三九已至,卻和暖如春苛败,著一層夾襖步出監(jiān)牢的瞬間满葛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工罢屈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嘀韧,地道東北人。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓缠捌,卻偏偏與公主長得像锄贷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子曼月,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內容