做爲專業程序員,必需要有學習網絡!加速學習之路!php
須要的在這裏:學習網絡linux
lsb_release -a
本筆記系統環境:git
LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.5.1804 (Core) Release: 7.5.1804 Codename: Core
# 執行 git --version
# 顯示老版本 git version 1.8.1
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc yum install gcc perl-ExtUtils-MakeMaker
yum remove git
git 官網程序員
cd /usr/local/src/ wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.xz tar -vxf git-2.9.5.tar.xz cd git-2.9.5
# 編譯時發生錯誤,可能未安裝依賴軟件包 make prefix=/usr/local/git all make prefix=/usr/local/git install
Root 用戶shell
# 添加環境變量 echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile # 生效環境變量 source /etc/profile
其餘用戶,apache
登陸該用戶,配置該用戶下的環境變量緩存
echo "export PATH=$PATH:/usr/local/git/bin" >> ~/.bashrc source ~/.bashrc
git --version
git version 2.9.5
根據官方文檔可快速安裝,本文只修了安裝
路徑,並手動受權。markdown
/gitlab/
爲安裝路徑,gitlab-runner
爲執行文件
# sudo wget -O /保存路徑 https://網址 sudo wget -O /gitlab/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
sudo chmod +x /gitlab/gitlab-runner
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
# 因爲沒有設置爲全局變量,添加爲服務時須要指定絕對路徑 # 因爲該服務指定用戶 gitlab-runner 執行,因此須要給該用戶配置相關文件夾權限 # --working-directory 參數爲配置緩存地址,可自定義,注意須要文件夾權限 sudo /gitlab/gitlab-runner install --user=gitlab-runner --working-directory=/gitlab/work
/gitlab/work
該目錄會生成一些 gitlab-runner
的配置文件,與高速緩存倉庫,須要受權權限。
chmod
分配:chmod 777 /gitlab/work/
ps:該權限方案適合快速使用,web 站點目錄,都須要權限。
ACL
分配製定用戶:# 給用戶 gitlab-runner 設置 /gitlab/work 文件夾 rwx 權限 setfacl -m u:gitlab-runner:rwx -R /gitlab/work # 設置後期添加的子目錄和文件繼承父目錄權限 setfacl -m d:u:gitlab-runner:rwx -R /gitlab/work
ps:該方案須要必定的權限分配能力
本文使用 apache
代理網站。
apache
用戶添加至 gitlab-runner
組,容許 apache
有權讀寫 gitlab-runner
生成的文件usermod -a -G 'gitlab-runner' apache
[root@127.0.0.1 /]# usermod -a -G 'gitlab-runner' apache [root@127.0.0.1 /]# id apache uid=48(apache) gid=48(apache) groups=48(apache),1000(gitlab-runner) [root@127.0.0.1 /]# id gitlab-runner uid=1000(gitlab-runner) gid=1000(gitlab-runner) groups=1000(gitlab-runner)
文檔很是詳細,自行查找
本文使用 shell
常規執行,功能有限,更多高級功能查看官方文檔
運行程序
sudo /gitlab/gitlab-runner start
更多功能
使用簡單的shell
與git
代碼,實現拉取倉庫文件至指定位置
# 工做類型標籤 stages: # 自定義工做類名稱 - 同步 # 自定義工做名 dev: tags: # 註冊 gitlab-runner 時填寫的機器人標籤 - gitlab stage: 同步 script: # 打開目錄 - cd /Web # 判斷是否存在 .git 文件 true 狀態 - if [ ! -d ".git" ];then # 初始化倉庫 - git init - else # 已經存在,跳過 git 倉庫初始化 - echo 'skip git int' - fi # 執行 git 根據倉庫路徑拉取文件 - git pull $CI_PROJECT_DIR environment: # 環境名稱 name: dev only: # 只有指定分支推送時才執行 - dev