1.安裝虛擬機軟件并創(chuàng)建CentOS 7的虛擬機:點擊查看安裝說明(在install centos7的過程中父款,network設(shè)置中需要開啟網(wǎng)絡(luò)連接存谎,才能聯(lián)網(wǎng)挺尾,不讓后期設(shè)置nat或者橋接等等都很麻煩返顺,還沒法聯(lián)網(wǎng)禀苦,導致yum的各種failed)
2.測試centos7能連通外網(wǎng)
虛擬機上的centOS安裝個VMware Tools便于電腦和虛擬機間的文件傳輸和粘貼復(fù)制等等。
無桌面版的centOs 7 參考這個安裝VMware Tools
CentOS 7 安裝JAVA環(huán)境說明(JDK1.8)
或者將主機某個文件夾作為共享文件夾遂鹊,將下載好的jdk文件放入主機共享文件夾中振乏,在虛擬機的 /mnt/hgfs 下可以查看共享文件夾,從這里導入主機文件到虛擬機上進行解壓安裝秉扑。解壓安裝方式可參考安裝說明慧邮。
CentOS 7 安裝Docker說明
或者如下方式:
1、更新一下系統(tǒng)
yum update -y
2舟陆、安裝docker
yum install docker -y
3误澳、加入docker鏡像源(如果不更新源,docker將會去docker官網(wǎng)獲取鏡像源秦躯,不科學上網(wǎng)忆谓,可能導致docker拉取不到鏡像源)
vi /etc/docker/daemon.json
#加入如下配置
{
"registry-mirrors": [ "https://registry.docker-cn.com"]
}
# 保存退出
CentOS 7 安裝Jenkins說明
若提示-bash: wget: command not found
使用下面命令安裝wget
yum -y install wget
也可以參照下面的方法:
1、去jenkins官網(wǎng)獲取下載地址:https://jenkins.io/
下載完成后踱承,可使用命令啟動jenkins倡缠,這里以7368端口為例,首次啟動會生成訪問密碼茎活,記得復(fù)制好密碼昙沦,先設(shè)置主機可訪問虛擬機服務(wù)后,再執(zhí)行下面的啟動命令载荔。
java -jar jenkins.war --httpPort=7368
虛擬機查看當前已開啟的端口列表
netstat -ntlp
設(shè)置主機可訪問虛擬機上的jenkins盾饮,先使用命令查看虛擬機的IP
ifconfig
打開編輯-虛擬網(wǎng)絡(luò)編輯器,設(shè)置NAT網(wǎng)絡(luò)
執(zhí)行啟動命令身辨,可在主機瀏覽器訪問192.168.164.129:7368丐谋。
CentOS 7 安裝kubernetes:https://github.com/liuyi01/kubernetes-starter
1、預(yù)先環(huán)境準備
2煌珊、基礎(chǔ)集群部署-kubernetes-simple
3号俐、完整集群部署-kubernetes-with-ca
4、在kubernetes上部署微服務(wù)
CentOS 7 安裝harbor
CentOS 7 安裝git定庵、gitlab Docker搭建自己的GitLab或者嘗試來自github的安裝gitlab教程或者嘗試
1吏饿、安裝git
yum install git -y
2踪危、查看是否安裝成功
git --version
3、配置基本信息
git config --global user.name="testname"
git config --global user.email hs1150@qq.com
4猪落、查看配置信息
git config --list
使用docker安裝gitlab服務(wù)
1.拉取官方gitlab鏡像
docker pull gitlab/gitlab-ce:latest
2.新建一個文件夾贞远,利用docker開啟gitlab容器
mkdir gitlab
cd gitlab
vi Dockerfile
在Dockerfile中加入內(nèi)容
FROM gitlab/gitlab-ce #鏡像名稱
RUN echo "This is a test about docker-gitlab"
3.保存Dockerfile后,構(gòu)建容器并啟動容器(這里的容器沒有定義hostname笨忌,會讓倉庫地址的域名變成一個隨機字符串蓝仲,為了便于后期更改配置,用第4步的方式啟動容器)
docker build -t gitlab .
docker run -d -p 8086:80 gitlab
4.將服務(wù)器的444/8087/23端口分別映射容器內(nèi)部的443/80/22端口官疲,容器名稱為gitlab
docker run --detach --hostname gitlab.ynpay.cc --publish 444:443 --publish 8087:80 --publish 23:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab
最后這里的gitlab是鏡像的名字袱结,也可以用鏡像id代替。
按照上面的方式途凫,讓gitlab容器運行起來是沒有問題的垢夹,但是當在gitlab上創(chuàng)建項目的時候,生成項目的URL訪問地址是按容器的hostname來生成的维费,域名默認訪問80端口果元,可能出現(xiàn)新建一個倉庫,但地址中不帶端口號犀盟,會讓gitlab-ci.yml的腳本無法clone這個項目而晒,所以需要在gitlab.rb中配置指定的倉庫地址url。
#宿主機上的路徑是 srv/gitlab/config/gitlab.rb
1. 配置http協(xié)議所使用的訪問地址
external_url 'http://gitlab.ynpay.cc:8087'
2.配置ssh協(xié)議所使用的訪問地址和端口
gitlab_rails['gitlab_ssh_host'] = 'gitlab.ynpay.cc'
gitlab_rails['gitlab_shell_ssh_port'] = 23
#上述位置的域名也可以使用ip代替
3.添加nginx設(shè)置阅畴,避免設(shè)置external_url后無法訪問
nginx['listen_port'] = 80
#默認情況下欣硼,nginx監(jiān)聽的端口為external_url中定義的,或者默認的80/443恶阴。所以剛nginx是監(jiān)聽的8087端口诈胜。而docker run的時候是暴露的80端口,所以根本就訪問不了冯事。
安裝gitlab Runner可以參考安裝Runner文檔
1.安裝gitlab-ci-multi-runner
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-ci-multi-runner/script.rpm.sh | sudo bash
2.安裝
yum install gitlab-ci-multi-runner
3.注冊并啟動runner
gitlab-ci-multi-runner register
或者使用
gitlab-runner register
#根據(jù)提示輸入url和token焦匈,還有tag和executor,完成注冊后昵仅,可以在gitlab服務(wù)管理端看到一個共享的runner
#注冊后記得啟動runner
gitlab-ci-multi-runner start
4.查看runner的配置信息
gitlab-runner list
#也可以直接打開配置文件進行查看
vim /etc/gitlab-runner/config.toml
5.刪除注冊信息
gitlab-runner unregister --url http://192.168.1.2/ci --token 387ed6c05fef248d2183f9f45b9cda
#這個操作是不可逆的缓熟,為了防止出錯可以先備份一下/etc/gitlab-runner/config.toml配置文件
#gitlab-runner默認將項目clone到/home/gitlab-runner/builds中
修改runner配置時,進入修改/etc/gitlab-runner/config.toml文件
使用CICD(持續(xù)構(gòu)建與持續(xù)部署)
配置好了runner摔笤,想要開始自動構(gòu)建還需要在項目根目錄添加一個.gitlab-ci.yaml文件够滑。 關(guān)于.gitlab-ci.yaml文件的配置說明可參考官方文檔。
1.使用shell讓程序自動部署吕世,可新建一個文件夾專門存放可執(zhí)行的腳本
mkdir shell
cd shell
vi test.sh
#進入test.sh中編輯內(nèi)容
2.讓腳本具有可執(zhí)行權(quán)限
chmod -x test.sh
3.執(zhí)行命令
sh test.sh
注意:
1.如果是存在共享Runner 則默認使用共享Runner去編譯構(gòu)建等等傅瞻,但如果有指定的Runner斋荞,那么在gitlab-ci的文件中的job中加入tags的標簽押桃。可參考學習Gitlab-CI持續(xù)集成之Runner配置和CI腳本
2.不建議什么服務(wù)都依賴于docker來操作分蓖,當docker容器太多時,如果網(wǎng)絡(luò)出現(xiàn)問題尔许,導致服務(wù)器無法訪問時么鹤,不易排查原因,部分重要或基礎(chǔ)的服務(wù)可使用注冊為本地服務(wù)的方式來開啟味廊,當服務(wù)器恢復(fù)正常時蒸甜,這些基礎(chǔ)服務(wù)即可使用。