asp.netcore+jenkins+docker+svn+centos7.2 持续集成,每天凌晨获取最新代码打包发布

运行环境: centos7.2服务器或则虚拟机 可以是腾讯云也可以是内网服务器,(如果是内网服务器需要用frp做内网穿透,这样才可以通过外网访问该服务器) 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 1 yum -y install wget 2.用如下代码查看wget是否安装成功 1 rpm -qa|grep "wget" 上图表示安装成功 3.参考:https://www.imooc.com/article/43528 按步骤完成安装 4.使用以下命令安装jenkins 1 2 3 $ 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 1 2 3 $ 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.最后谢谢大家的支持。谢谢大家https://www.cnblogs.com/sxwxhxyt/p/10011082.html
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信