运行环境:
- 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 |
|
2.用如下代码查看wget是否安装成功
1 |
|
上图表示安装成功
3.参考:https://www.imooc.com/article/43528 按步骤完成安装
4.使用以下命令安装jenkins
1 2 3 |
yum install jenkins --nogpgcheck |
5.修改jenkins默认端口。默认是8080。当被占用时我们改成其他端口以便使用,我们这里手动改为8090
1 2 3 |
|
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/(这个是我自己的腾讯云,大家可以访问)