===============================================
2020/12/22_第2次修改 ccb_warlock
更新說明:
2020/12/22:
1.重新整理步驟,更正了描述不正確的內容;
===============================================
可以選擇一些免費的鏡像倉庫(dockerhub、阿里雲等等)用於存放構建的鏡像。如果需要搭私有倉庫可以選擇搭建harbor(https://www.cnblogs.com/straycats/p/8850693.html)
這里選擇了阿里雲(registry.cn-beijing.aliyuncs.com)作為鏡像倉庫
sudo yum install -y git
2.3 安裝.net core
centos7上部署參考https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-centos
2.4 創建rsa證書
因為我拉取git常用ssh,故需要在builder服務器上創建rsa證書,通過公鑰拉源碼。
sudo ssh-keygen -t rsa
接着將公鑰(/root/.ssh/id_rsa.pub)的內容貼到git賬號中。
這里將dev分支的源碼拷貝到目錄/opt/src下。
sudo mkdir -p /opt/src cd /opt/src sudo git clone -b dev <git項目地址>
sudo mkdir -p /opt/publish/abc/published
sudo mkdir -p /opt/build/abc sudo vi /opt/build/abc/build.sh
# 將下面的內容保存到build.sh中。
#!/bin/bash src_dir="/opt/src/abc" publish_dir="/opt/publish/abc/published" echo "==> Begin build project <==========" cd $src_dir sudo git checkout dev sudo git pull #commit_id_old=`git rev-parse HEAD` #sudo git pull #commit_id_current=`git rev-parse HEAD` #if [ $commit_id_old = $commit_id_current ];then # echo "==> Branch dev has not changed, exit <==========" # exit 1 #fi sudo rm -rf $publish_dir sudo mkdir -p $publish_dir sudo dotnet publish -o $publish_dir echo "==> End build project <==========" echo "==> Begin build image <==========" # Dockerfile文件放在源碼的Server目錄下 sudo yes| cp -rf $src_dir"/Server/Dockerfile" /opt/publish/abc cd /opt/publish/abc sudo docker build --rm -t registry.cn-beijing.aliyuncs.com/abc/abc:latest . sudo docker push registry.cn-beijing.aliyuncs.com/abc/abc:latest echo "==> End build image <==========" echo "==> Begin deploy stack <==========" # 這里通過docker swarm來部署 cd /opt/docker/compose/abc sudo docker stack rm abc-stack sudo docker stack deploy -c abc-stack.yml abc-stack echo "==> End deploy stack <=========="
三、部署jenkins服務器
3.1 部署jenkins服務器
參考:https://www.cnblogs.com/straycats/p/14033405.html
3.2 安裝插件Publish Over SSH
sudo ssh-keygen -t rsa cd /root/.ssh sudo cp id_rsa.pub id_rsa.pub.jenkins
這樣,在/root/.ssh下生成id_rsa(私鑰) 和 id_rsa.pub (公鑰)兩個文件。
sudo mkdir -p /root/.ssh sudo touch /root/.ssh/authorized_keys
cd /root/.ssh sudo cat id_rsa.pub.jenkins >> /root/.ssh/authorized_keys
3.5 添加SSH服務器
1)"系統管理" - "系統配置" - “Publish over SSH”一欄,將jenkins服務器的SSH私鑰(/root/.ssh/id_rsa)填到Key中。
3.6 創建jenkins任務
1)點擊“新建任務”
2)構建環境,勾選“Add timestamps to the Console Output”
3.7 執行任務
1)點擊任務進入任務界面。
2)點擊“立即構建”,該任務就會執行一次。