asp.netcore+jenkins+docker+svn+centos7.2 持續集成,每天凌晨獲取最新代碼打包發佈

運行環境:

  1. centos7.2服務器或則虛擬機
  2. 可以是騰訊雲也可以是內網服務器,(如果是內網服務器需要用frp做內網穿透,這樣纔可以通過外網訪問該服務器)
  3. svnserver 來託管代碼

一.安裝jenkins運行環境

1. 查看yum庫中的Java安裝包

2.yum -y list java*

3.選擇一個適合的版本進行安裝我們這裏選擇的是1.8.0的版本進行演示

yum -y install java-1.8.0-openjdk*

4.查看jdk是否安裝成功

java -version

二.安裝JenKins

1.我們採用wget方式安裝jenkins

yum -y install wget

2.用如下代碼查看wget是否安裝成功

rpm -qa|grep "wget"

上圖表示安裝成功

3.參考:https://www.imooc.com/article/43528  按步驟完成安裝

4.使用以下命令安裝jenkins

$ sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
$ sudo rpm –import https://jenkins-ci.org/redhat/jenkins-ci.org.key
$ yum install jenkins

5.修改jenkins默認端口。默認是8080。當被佔用時我們改成其他端口以便使用,我們這裏手動改爲8090

$ vim /etc/sysconfig/jenkins 

找到JENKINS_PORT="8090" 可以改成未被佔用的端口號

 6.配置權限

爲了不因爲權限出現各種問題,這裏直接使用root

修改用戶爲root

$ vim /etc/sysconfig/jenkins

# 修改配置
$JENKINS_USER="root"

# 修改目錄權限

$ chown -R root:root /var/lib/jenkins
$ chown -R root:root /var/cache/jenkins
$ chown -R root:root /var/log/jenkins

重啓

$ service jenkins restart
$ ps -ef | grep jenkins

7.啓動Jenkins

$ systemctl start jenkins
驗證啓動狀態
$ systemctl status jenkins

如圖所以啓動成功

8.jenkins運行成功後然後訪問Jenkins http://ip:8090

cat /var/lib/jenkins/secrets/initialAdminPassword
查看jenkins密碼,然後輸入到密碼框
然後一直下一步安裝就可以

9.然後進入到如下頁面

10.創建一個自由風格的任務

 

11.源碼管理配置

 

12.編寫dockerfile

# 編譯Docker鏡像
FROM microsoft/aspnetcore-build as build-env
MAINTAINER xiaoyukeji
WORKDIR /source
COPY ./JenkinsTest /source

WORKDIR /source/JenkinsTest

RUN dotnet restore --verbosity q

RUN dotnet publish -c Release -o /source/publish

# PC端鏡像
FROM microsoft/aspnetcore
WORKDIR /app
copy --from=build-env /source/publish ./

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

EXPOSE 5001/tcp

ENTRYPOINT ["dotnet", "JenkinsTest.dll"]

13.編寫shell腳本

echo 打包鏡像
docker build --force-rm=true --rm -f Dockerfile_pc -t jenkinstest_pc ../
echo 刪除鏡像
docker rm -f jenkinstest_pc
echo 運行鏡像
docker run -p 5001:5001 --name jenkinstest_pc -d jenkinstest_pc
echo 刪除鏡像名稱爲none的鏡像
docker images|grep -wn none|awk '{print $3 }'|xargs docker rmi

14.配置定時器(jenkins cron表達式,這表示每天凌晨拉去svn最新代碼進行發佈)

 

 15.執行shell進行構建

 

 16.jenkins構建過程

 

 

 

 

 17.訪問我們剛纔發佈的網站:http://118.24.60.212:5001/(這個是我自己的騰訊雲,大家可以訪問)

 18.最後謝謝大家的支持。謝謝大家

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章