开放相关8081端口
firewall-cmd --permanent --add-port=8081/tcpfirewall-cmd --reload上传包指令,注意包名有中文会导致上传出现bad request
dotnet nuget push --source http://192.168.88.139:8081/ -k chengong TestPackage.1.0.0.nupkg删除包指令
dotnet nuget delete --source http://192.168.88.139:8081/ -k chengongTestPackage 1.0.0如果在windowsx系统可以通过工具上传
https://github.com/NuGetPackageExplorer/NuGetPackageExplorer

文章插图
Gitlab的安装在Server A服务器上基于docker安装
sudo docker run -d--hostname 192.168.88.138-p 443:443 -p 8080:80 -p 2222:22--name gitlab--restart always-v /root/gitlab/config:/etc/gitlab:Z-v /root/gitlab/logs:/var/log/gitlab:Z-v /root/gitlab/data:/var/opt/gitlab:Zgitlab/gitlab-ce开放端口firewall-cmd --permanent --add-port=8080/tcpfirewall-cmd --reload第一次启动会有点慢,需要耐心的等待一下(几分钟),初始化完了后进入系统设置root的密码,登录进去我们创建两个项目,一个Web应用,一个工具库,等会需要用到
文章插图
Jenkins的安装在Server B服务器基于docker安装Jenkins
mkdir -p /root/jenkinssetenforce 0docker run --name jenkins -u 0 -d--restart always -v /root/jenkins/jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts开放端口firewall-cmd --permanent --add-port=8080/tcpfirewall-cmd --reload启动完了后需要等待一会,我们先去查看Jenkins的docker log,我们找到下面那段密码,在Jenkins欢迎页输入,设置好管理员后,选择Custom Select,如果您对网络有自信就直接点继续,如果您对网络没自信,避免花了很长的时间还没安装好插件就直接啥都不选继续 。(如果出现一个XXX失败代理的页面直接跳过)docer logs xxxPlease use the following password to proceed to installation:53d4a2880bf8460c8ff61936278855ca插件自动下载完后了,终于进去了,如果有没有安装成功的都得保证以下三个插件安装好,Gitlab Hook 、Gitlab、Push Over SSH.登录后,在左侧点击【系统管理】,拖下去点击 【插件管理】,确保Gitlab Hook 、Gitlab、Push Over SSH成功安装,如果无法顺利安装则到https://plugins.jenkins.io/下载插件手动上传 。

文章插图
修改时区,进入Jenkins容器
docker exec -it 81 /bin/bash执行下面命令tzselect4911cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime##查看时间date -R在Server B安装.Net SDK,因为在Server B安装了Jenkins,因此会基于Server B的环境进行.Net的应用进行打包、发布添加下载源:
rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm下载安装:sudo yum install dotnet-sdk-3.1在Server B添加私有Nuget包源,因为在.Net Core应用 Build和Publish的时候会触发Restore指令(还原包),默认只有微软的nuget源,如果缺少了私有Nuget源会还原包失败dotnet nuget add source http://192.168.88.139:8081 -n LocalNugetServer列出已有包源dotnet nuget list source当然可以通过 dotnet restore -s http://192.168.88.139:8081 指令指定还原包源,但是为了避免如果服务地址变动后shell脚本会大面积的修改,还是建议通过dotnet nuget add soure指令 。那么到这里所有的关于Linux的工具安装、初始化的准备工作都完成了,那么接下来就是讲解Jenkins结合Gitlab,把应用与工具包发布到Nuget与Docker 。
Jenkins的使用在一切开始之前得把SSH配置好,因为后续会使用到,在【SSH Servers】模块把服务器地址、账号密码填进去保存 。

文章插图
返回到首页面板点击【新建任务】-选择【构建一个自由风格的软件项目】(FreeStyle Project) 。
自由风格的项目更多是使用shell脚本结合相应平台的指令实现自动化,因此建议大家对shell脚本有个初步的认识与学习,虽然Jenkins也提供了对应平台语言的一些插件,但是只要您熟悉了shell就会发现它的灵活性与便捷性 。

文章插图
接下来我们只要关注3个模块,源码管理、构建触发器、构建
推荐阅读
- 如何使用Istio 1.6管理多集群中的微服务?
- 微信小程序开发心得
- centos7系统开启telnet服务
- Android端微软远程桌面应用更新:全面支持Windows虚拟桌面
- 微软|动视暴雪官方文件表明:收购结束后CEO鲍比·科蒂克的去留还不明朗
- 腾讯|微信朋友圈上线十周年!还记得你第一条发的什么内容吗
- 后台服务工具maven:maven安装配置
- 一文看懂静态资源服务沉浮及其在携程的演进
- Vue 图片压缩并上传至服务器
- 网友热议|87岁老人去世灵堂飞来“仙鹤”引质疑 官方:丹顶鹤用殡葬服务不可能存在
