Jenkins安裝及配合GitLab程式碼自動部署
**
git—倉庫搭建及使用
**
###################################################################
建立使用者
[kiosk@foundation6 ~]$ git config --global user.name "bobo"
[kiosk@foundation6 ~]$ git config --global user.email 1272425809@qq.com
檢視使用者資訊
[root@foundation15 ~]# cat .gitconfig
[user]
name = bobo
email = 1272425809 @qq.com
搭建倉庫
[root@foundation15 mnt]# mkdir bobo
[root@foundation15 mnt]# cd bobo
[root@foundation15 bobo]# ls
[root@foundation15 bobo]# git init
Initialized empty Git repository in /mnt/bobo/.git/
##################################################################
倉庫存放程式碼
[root@foundation15 bobo]# vim bobo.txt
[root@foundation15 bobo]# git add bobo.txt
[root@foundation15 bobo]# git status
# On branch master
# Initial commit
# Changesto be committed:
# (use "git rm --cached <file>..." to unstage)
# new file: bobo.txt(顯示新的檔案已經新增)
commit來提交
[root@foundation15 bobo]# git commit -m "demo"
[master (root-commit) 69 d20ec] demo
1 file changed, 2 insertions(+)
create mode 100644 bobo.txt
##################################################################333
程式碼修改
[root@foundation15 bobo]# vim bobo.txt
[root@foundation15 bobo]# git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: bobo.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
這裡顯示程式碼被修改但還未被提交
######################################################################
檢視改動
[[email protected] bobo]# git diff
diff --git a/bobo.txt b/bobo.txt
index 9a80a22..477e165 100644
--- a/bobo.txt
+++ b/bobo.txt
@@ -1,2 +1,2 @@
-hello
+wetos
對修改後的檔案提交
[[email protected] bobo]# git add *
[[email protected] bobo]# git commit -m "hello"
[master 282b01d] hello
1 file changed, 1 insertion(+), 1 deletion(-)
#####################################################
版本的回退
[root@foundation15 bobo]# git log
commit 282b01d3a25a0a5a0343019dab8034322e0e89e3
Author: bobo <1272425809@qq.com>
Date: Thu Aug 23 14:42:06 2018 +0800
hello
commit 69d20ecc3a43c67b5e8641f6abf46653c644055a
Author: bobo <1272425809@qq.com>
Date: Thu Aug 23 14:35:31 2018 +0800
demo
#######################################################################
git reset 回退已經提交的倉庫
HEAD 表示當前版本
HEAD^ 表示上一個版本
HEAD^^ 表示上上一個版本
HEAD~100 表示當前往上100個版本
######################################################################
[root@foundation15 bobo]# git reset --hard HEAD^
HEAD is now at 69d20ec demo
檢視程式碼已經改變
[root@foundation15 bobo]# cat bobo.txt
hello
如果版本回退後需要返回回退前 指定回退版本號就可以了
[root@foundation15 bobo]# git reset --hard 282b01d3a25a0a5a0343019dab8034322e0e89e3
HEAD is now at 282b01d hello
###############################################################
對於所有的出現過的版本號 可以通過 relog檢視
[[email protected] bobo]# git reflog
282b01d [email protected]{0}: reset: moving to 282b01d3a25a0a5a0343019dab8034322e0e89e3
69d20ec [email protected]{1}: reset: moving to HEAD^
282b01d [email protected]{2}: commit: hello
69d20ec [email protected]{3}: commit (initial): demo
工作區和贊存區
- Git版本庫裡新增的時候,是分兩步執行的:
第一步是用git add把檔案新增進去,實際上就是把檔案修改新增到暫存區;
第二步是用git commit提交更改,實際上就是把暫存區的所有內容提交到當前分支。
因為我們建立Git版本庫時,Git自動為我們建立了唯一一個master分支,所以,現在,git commit就是往master分支上提交更改。
所以說明需要提交的檔案修改通通放到暫存區,然後,一次性提交暫存區的所有修改
1
對於還沒有add的程式碼 修改後撤回的操作為
[root@foundation15 bobo]# > bobo.txt
[root@foundation15 bobo]# cat bobo.txt
[root@foundation15 bobo]# git checkout bobo.txt
[root@foundation15 bobo]# cat bobo.txt
wetos
2
對於修改後還沒有commit的程式碼撤回
[root@foundation15 bobo]# > bobo.txt
[root@foundation15 bobo]# cat bobo.txt
[root@foundation15 bobo]# git add *
[root@foundation15 bobo]# cat bobo.txt
[root@foundation15 bobo]# git reset HEAD bobo.txt (將檔案退回工作區)
Unstaged changes after reset:
M bobo.txt
[root@foundation15 bobo]# git checkout bobo.txt
[root@foundation15 bobo]# cat bobo.txt
wetos
3
對於提交後的程式碼 只能通過版本回退來恢復了
**
github
**
上傳原生代碼
[[email protected] demo]# git remote add origin [email protected]:802119323/bobo.git
[[email protected] demo]# git push -u origin master
The authenticity of host 'github.com (13.229.188.59)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,13.229.188.59' (RSA) to the list of known hosts.
Counting objects: 3, done.
Writing objects: 100% (3/3), 202 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]:802119323/bobo.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
程式碼的下載
下載github上的程式碼
[[email protected] github]# git clone [email protected]:802119323/bobo.git
Cloning into 'bobo'...
Warning: Permanently added the RSA host key for IP address '52.74.223.119' to the list of known hosts.
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 3 (delta 0), pack-reused 0
Receiving objects: 100% (6/6), done.
[[email protected] github]# ls
bobo
[[email protected] github]# cd bobo
[[email protected] bobo]# ls
test2 test.txt
**
Gitlab的安裝及使用
**
使用rpm包方式安裝
[root@foundation15 ~]# yum install gitlab-ce-11.0.1-ce.0.el6.x86_64.rpm
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Examining gitlab-ce-11.0.1-ce.0.el6.x86_64.rpm: gitlab-ce-11.0.1-ce.0.el6.x86_64
Marking gitlab-ce-11.0.1-ce.0.el6.x86_64.rpm to be installed
#############################################################
初始化配置
修改配置檔案
[root@foundation15 yum.repos.d]# vim /etc/gitlab/gitlab.rb
external_url 'http://172.25.15.250'
開始初始化gitlab
[root@foundation15 yum.repos.d]# gitlab-ctl reconfigure
等待初始化
啟動 再瀏覽器進行ssh等配置
物理機ssh-keygen建立 id_rsa.pub
ssh配置完成
測試 建立一個專案用於本地測試拉取
建立一個bobo組 再建立一個test專案 再寫東西進去就可以了
測試使用ssh免密拉取專案
[[email protected] mnt]# git clone [email protected]:bobo/test1.git
Cloning into 'test1'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
檢視拉取內容
[[email protected] test1]# cat test1
bobo
與網頁建立的一致
倉庫搭建完成
git 程式碼上傳
建立一個index.html
[[email protected] test1]# git add *
[[email protected] test1]# git commit -m "add index.html"
[master af7e6dc] add index.html
1 file changed, 1 insertion(+)
create mode 100644 index.html
[[email protected] test1]# ls
index.html test1
#####################################################################3
git push就可以提交程式碼
[[email protected] test1]# git push
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
git config --global push.default simple
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 275 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To [email protected]172.25.15.250:bobo/test1.git
222c56a..af7e6dc master -> master
#########################################################
瀏覽器檢視是否新增成功
成功
使用完成後 gitlab-ctl stop 停止服務即可
**
Jenkins的搭建與使用
**
基於JAVA的開源的自動化系統平臺
加速自動化CI,CD任務及流水線,所有型別的任務:構建,測試,部署等
豐富的外掛生態系統支援功能擴充套件,1400+外掛和SCM,測試,通知,報
告,Artfact,觸發,外部整合等,基於Web的管理和使用介面
安裝使用
本次使用docker來搭建
拉取映象
[root@foundation15 ~]# docker pull jenkins:latest
latest: Pulling from library/jenkins
~~~~~~~~
Digest: sha256:eeb4850eb65f2d92500e421b430ed1ec58a7ac909e91f518926e02473904f668
Status: Downloaded newer image for jenkins:latest
拉取後可以儲存下來 主機更換後不用再下載
[root@foundation15 mnt]# docker save -o jenkins.tar jenkins
[root@foundation15 mnt]# ll jenkins.tar
-rw------- 1 root root 714778112 Aug 23 09:16 jenkins.tar
開啟服務
需要注意 再一臺物理機執行 gitlab與jenkins時 他們的埠都是相同的 所以這裡將 8888作為jenkins的使用埠
[root@foundation15 mnt]# docker run -it --name jenkins1 -v $HOME/jenkins:/var/ -p 8888:8080 -p 55000:50000 -p 45000:45000 jenkins:latest
Running from: /usr/share/jenkins/jenkins.war
當出現unlock時
根據提示在對應目錄下找到解鎖碼輸入即可
我在docker中搭建的服務 所以進入docker檢視即可
解鎖後設置密碼即可
搭建專案來連結gitlab
建立新的專案來接受gitli的資訊
選擇gitlib
新增認證 輸入gitlab的使用者密碼
再新增選擇gitlab的http與版本即可即可
[[email protected] ~]# rpm -qa|grep gitlab
gitlab-ce-11.0.1-ce.0.el6.x86_64
選擇構建的操作 這裡選擇輸出程式碼檔案
選擇構建的重新整理時間
儲存退出
開始構建
顯示控制檯即可
基本的搭建完成
開始測試 本地主機上傳新程式碼
[root@foundation15 test1]# git add *
[root@foundation15 test1]# git commit -m "add bobo.txt"
[master 9df3cb8] add bobo.txt
1 file changed, 1 insertion(+)
create mode 100644 bobo.txt
[root@foundation15 test1]# git push origin master
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 275 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@172.25.15.250:test/test1.git
0c28b4d..9df3cb8 master -> master
等待程式碼構建新增即可
搭建成功
實時觸發器
下載gitlibhook外掛即可
在配置時開啟高階選項 生成key 將網址 一併複製在gitlab上
出現無法訪問本地時
在useradmin settting中 找到最下方的設定開啟即可
測試是否新增成功
返回值200 成功
新增新程式碼檔案測試是否ok
[root@foundation15 test1]# vim hello.txt
[root@foundation15 test1]# git add *
[root@foundation15 test1]# git commit -m "add"
[master c06e5c1] add
1 file changed, 1 insertion(+)
create mode 100644 hello.txt
[root@foundation15 test1]# git push origin master
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 299 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@172.25.15.250:test/test1.git
9df3cb8..c06e5c1 master -> master
瀏覽器看到立即構建了新檔案
3 與4 分別為測試時建立的檔案與自行新增的檔案
相關推薦
Jenkins安裝及配合GitLab程式碼自動部署
** git—倉庫搭建及使用 ** ################################################################### 建立使用者 [kiosk@foundation6 ~]$ git confi
gitlab+jenkins+tomcat實現程式碼自動部署
一 搭建docker-gitlab-ce(優先部署docker,前面有docker部署文件) 環境準備: 1 實體記憶體要大於3GB 2 Linux Centos7系統 3 需要能夠訪問外網 4 jdk-8u172-linux-x64.tar.gz軟體
從零開始搭建系統2.4——Jenkins安裝及配置
AR gpo blank .cn 安裝 jenkin cnblogs 搭建 pro 從零開始搭建系統2.4——Jenkins安裝及配置從零開始搭建系統2.4——Jenkins安裝及配置
linux下jenkins安裝及配置-1
jenkins版本要求: linux centos 6.8 tomcat8.5.9(可不要) jdk 8u141 jenkins 2.107.1 簡介 ?? Continuous Integration(CI)是現代軟件開發領域的基石,它改變了團隊對於整個開發過程的理解。一個好的CI架
Redis的安裝及創建節點、部署群集
讀取 fff 補充 ring log cto all mkdir 目錄 Redis簡介 Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。 Redis有著更為復雜的數據結構並且提供對
jenkins安裝及配置
header date 語法 1.8 ams chl key lds 行集 12.Jenkins配置jenkins返回構建狀態到gitlab 系統管理-系統設置選項下 jenkins 系統管理-->系統設置 jenkins 項
持續整合之將程式碼自動部署至測試環境
將程式碼自動部署至測試環境 一:本文在上一篇文章的基礎之上繼續進行操作,上一篇實現了從git獲取程式碼並進行程式碼測試,本文將在上一篇的基礎之上實現將程式碼部署至測試環境。1.1:新建一個專案叫web-demo-deploy用於程式碼釋出,上一個專案web-demo可用於程式碼測試,當測試階段出現問題的
JENKINS安裝及新建用戶,權限配置
訪問 service over cycle ati 我們 新建用戶 table connect JENKINS安裝及新建用戶,權限配置 1. 下載安裝 jenkins 官網地址https://jenkins.io/index.html 下載地址https://jenkins
手摸手,帶你實現程式碼自動部署
為什麼? 為什麼要實現自動部署? 在2個月的時間裡,一直都在忙著整理部落格,每一個程式設計師都有一個部落格夢(當然也不排除有些是沒有的),我先後使用過各種部落格系統: vuepress react-static jekyll hexo ... 這些都因為前前後後的原因,
git hook實現程式碼自動部署
原理與流程 git使用者執行git push操作 遠端倉庫發現有使用者執行了push操作,就會執行一個指令碼post-receive(鉤子) 在post-receive指令碼中,將git倉庫的程式碼拷貝到web站點目錄下 建立git倉庫 我們可以在自己的伺服器上建立g
Linux下Jenkins安裝及配置
Jenkins配置maven 自動安裝maven [/var/lib/jenkins/tools/hudson.tasks.Maven_MavenInstallation/](自動安裝路徑) 安裝完成後進行s
Jenkins安裝及解除安裝
1、到Jenkins官網(https://jenkins.io/download/ )下載最新版本對應系統版本 2、上傳rpm包,並安裝: rpm -ivh jenkins-2.127-1.1.noarch.rpm 3、安裝
gitlab之gitlab-ci自動部署
簡介 gitlab-ci全稱是gitlab continuous integration的意思,也就是持續整合。中心思想是當每一次push到gitlab的時候,都會觸發一次指令碼執行,然後指令碼的內容包括了測試,編譯,部署等一系列自定義的內容。本文就是利用gitlab-ci的持續整合來實現自動部署。
gitlab之gitlab-runner自動部署(二)
轉載自:https://blog.csdn.net/hxpjava1/article/details/78514999 簡介 gitlab-ci全稱是gitlab continuous integration的意思,也就是持續整合。中心思想是當每一次push到gitlab的時候,都會觸發一次
Jenkins安裝及拉取遠端專案並打包生成
Jenkins是一個開源軟體專案,是基於Java開發的一種持續整合工具,用於監控持續重複的工作,旨在提供一個開放易用的軟體平臺,使軟體的持續整合變成可能。 使用Jenkins可以自動進行專案的打包釋出等工作,這裡講下Jenkins的
linux centos下jenkins安裝及升級方法
安裝方法: yum安裝 rpm --import http://pkg.jenkins.io/redhat/jenkins.io.key yum install jenkins -y 或者 rpm --import http://pkg.jenkins-ci.org/r
linux 下 nginx 服務安裝及配置,開機自動啟動
最近經常需要安裝linux伺服器,經過網上查詢整理資料,以備後用。 模組依賴性Nginx需要依賴下面3個包 1. gzip 模組需要 zlib 庫 ( 下載: http://www.zlib.net/ ) 2
Jenkins安裝及使用
近期幫組裡做程式碼審查,就搗鼓起了Jenkins,把Jenkins的使用心得總結總結: 一.安裝 jenkins安裝分為兩種: 1.1第一種便是在jenkins官網 https://jenkins.io/ 下載war包或者壓縮安裝檔案,我這裡用的後者,在cmd裡面
Jenkins安裝及使用(一)
1.yum 方式安裝wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.reporpm --import https://jenkins-ci.org/re
selenium+testng+gitblit+jenkins+ant自動化測試系列七:jenkins安裝及基礎配置
1.安裝 方法一: 下載jenkin.exe安裝檔案 下載地址:https://jenkins.io/content/thank-you-downloading-windows-installer/ 下載jenkins-2.49.zip,解壓後直接安裝即可,安裝完成後在電腦