一、創建Git倉庫
1.1 服務器上生成密鑰
# ssh-keygen -t rsa # 密鑰默認保存在家目錄.ssh中
註冊GitHub賬號
註冊GitHub賬號,地址:https://github.com
1.2 配置GitHub的SSH key
1.3 測試連接
# ssh -T -p 443 [email protected]
1.4 創建項目倉庫
1.5 配置本地倉庫
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum -y install git-core
# midkr /wh_k/git_house
# git init /wh_k/git_house/
初始化後,會在git_house目錄下會出現一個名爲 .git 的目錄,所有 Git 需要的數據和資源都存放在這個目錄中。
# vim /wh_k/git_house/test.php
# git add test.php # 寫入緩存
# git config --global user.name 'wang'
# git config --global user.email [email protected] #Git 爲你的每一個提交都記錄你的名字與電子郵箱地址,所以首先需要配置用戶名和郵箱地址。
# git commit -m '第一次版本提交' # -m 註釋
1.6 關聯git本地倉庫和Github遠程倉庫
獲取遠程倉庫地址:https://github.com/wanghongkun01/PHP_test001
# git remote add origin https://github.com/wanghongkun01/PHP_test001 #本地倉庫關聯到Github
# git pull origin master #GitHub上提交東西的時候,會因爲遠程上有東西更新了但是本地倉庫沒有更新而造成提交失敗,所以我們在push之前,都會pull一遍
1.7 代碼上傳到Github遠程倉庫
# git push origin master
報錯信息
error: The requested URL returned error: 403 Forbidden while accessing https://github.com/wanghongkun01/PHP_test001/info/refs
fatal: HTTP request failed
處理方法
打開開關看詳細日誌
# export GIT_CURL_VERBOSE=1
# git push
可以看到(The requested URL returned error: 401 Authorization Required),是權限問題導致的,可以修改.git/config文件追加用戶名和密碼:
1)編輯.git/config文件
2)在[remote “origin”]下找到找到url變量
3)修改url = https://github.com/user/test.git,修改爲url = ssh://[email protected]/user/test.git,修改完了保存
4)通過git push origin master進行同步,已經可以成功了
二、安裝Jenkins
2.1 安裝JDK
# yum install -y *jdk*
2.2 安裝Tomcat9 (可省)
# wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.17/bin/apache-tomcat-9.0.17.tar.gz
# tar -xzf apache-tomcat-9.0.17.tar.gz
# cd apache-tomcat-9.0.17/bin
# ./startup.sh
2.3 安裝Jenkins
# wget https://prodjenkinsreleases.blob.core.windows.net/redhat/jenkins-2.169-1.1.noarch.rpm
# rpm -ivh jenkins-2.169-1.1.noarch.rpm
#service jenkins start
訪問IP地址:http://ip地址:8080, 安裝Jenkins。
2.4 獲取安裝密碼:
# cat /var/lib/jenkins/secrets/initialAdminPassword
2.5 重啓Jenkins服務
# service jenkins restart
2.6 破解admin登錄密碼
# cd /var/lib/jenkins/users/admin_3675641828925617147 #admin目錄
# vim config.xml
passwd行修改爲:
<passwordHash>#jbcrypt:$2a$10$pDQks0ytOkCfmpdgpLygrOC3uY7i/XnZHBKRQDhrBPwKoN2f5Kz8C</passwordHash> #修改密碼爲admin
三、代碼發佈
3.1 發佈php程序
Jenkins服務器:192.168.61.128
遠程服務器:192.168.61.129
3.2 查看插件是否安裝
系統管理---管理插件---已安裝 查看“Git plugin”和“Publish Over SSH”
未安裝的先安裝插件
重啓renkins服務
# service jenkins restart
3.3 配置ssh互信
# ssh-keygen -t rsa # 密鑰默認保存在家目錄.ssh中
# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] #拷貝公鑰至遠程主機
3.4 配置Jenkins
3.5 構建項目
最後就是 “構建” ,最核心的一步,選擇 “Send files or execute commands over SSH” (設置中所用目錄是已經存在的目錄):
3.5 發佈代碼至tomcat
放入gitub的包爲war包,發佈的目錄爲tomcat的webapps目錄。