centos 7 jenkins一健发布asp.net项目
1.jenkins安装
1.安装java
yum install java
2.下载jenkins rpm包,这个是个人网站,可以到官方下载需要的版本
wget http://file.zhoo.xyz/jenkins-2.203-1.1.noarch.rpm
3.安装jenkins2.2
rpm -ivh jenkins-2.203-1.1.noarch.rpm
4.启动jenkins
systemctl start jenkins
5.浏览器打开http://ip:8080
按提示安装插件...
- asp.net编译环境安装 centos7/RHEL 7 x64
1.导入包管理key
rpmkeys --import "http://pool.sks-keyservers.net/pks/lookup?op=get&search=0x3fa7e0328081bff6a14da29aa6a19b38d3d831ef"
2.下载mono yum源
su -c 'curl https://download.mono-project.com/repo/centos7-stable.repo | tee /etc/yum.repos.d/mono-centos7-stable.repo'
3.安装mono
yum install mono-devel
5.安装nuget包还原工具
yum install nuget
3.安装 .NET Core 运行环境根据自项目版本选择对应版本,
https://dotnet.microsoft.com/download/dotnet-core
1.打开终端并运行以下命令
rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
2.安装 .NET Core SDK
yum install dotnet-sdk-3.1
3.安装 ASP.NET Core 运行时
yum install aspnetcore-runtime-3.1
4.安装 .NET Core 运行时
yum install dotnet-runtime-3.1
jenkins和asp.net环境也都可以了,现在开始对jenkins做一系列配置
4.新建一个Item
5.配置好项目代码地址,用户名密码等
6.三条命令,第一条nuget是包还原,第二条是编译代码,第三条是杀掉在执行的程序,(这里是通过守护进程supervisord)点击保存
7.安装supervisord,进程守护,具体细节可以参照专业文档
1.安装
yum install supervisord
2.配置
[root@repo]#cat /etc/supervisord.d/test.ini
command=dotnet test.WebApi.dll ##运行文件
directory=/var/lib/jenkins/workspace/test/test.WebApi/bin/Debug/netcoreapp3.1 ##编译好之后的运行文件目录
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=3
stderr_logfile=/var/log/ossoffical.err.log
stdout_logfile=/var/log/ossoffical.out.log
3.启动supervisord
systemctl start supervisord
8.nuget包还原配置,由于jenkins目录设置在/var/lib/jenkins,配置文件也在对应目录,可以添加多个源地址,具体可以根据自己需要添加。
cat /var/lib/jenkins/.config/NuGet/NuGet.Config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="asas" value="http://192.168.0.66:8888/nuget" /> ##局域网包管理地址
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
9.现在就可以去快乐的去jenkins点Build Now按钮了
这里可能会出现里面写的命令执行不了,由于进程是root启动的,可能会存在权限问题,所以我将jenkins都改成root的了
1.修改Jenkins配置文件
# 打开配置文件
vi /etc/sysconfig/jenkins
# 修改$JENKINS_USER,并去掉当前行注释
$JENKINS_USER="root"
2.修改Jenkins相关文件夹用户权限
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins
3.重启Jenkins服务并检查运行Jenkins的用户是否已经切换为root
# 重启Jenkins(若是其他方式安装的jenkins则重启方式略不同)
service jenkins restart
# 查看Jenkins进程所属用户
ps -ef | grep jenkins
# 若显示为root用户,则表示修改完成