缺点:在服务器编译,编译时需要占用cpu和内存资源,基本可以废弃,可以考虑利用Azure devops或者阿里云效。
1:任意云服务器,轻量云比较便宜。
阿里云:https://www.aliyun.com/activity/1111/newuser1st?userCode=1vqzj9qj
腾讯云:https://curl.qcloud.com/t8vLvWQn
2:安装宝塔面板
3:docker安装
进入宝塔-软件商店-全部-搜索docker-安装Docker管理器-选择最新版本
4:jenkins安装
4.1宝塔面板-文件 创建 /var/jenkins_home 目录
4.2宝塔面板-终端-执行命令
docker run \
-u root \
-itd \
-p 5076:8080 \
-p 50000:50000 \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins/jenkins:lts
-p 5076:8080 \ 5076端口自己任意填写
5:.net core添加Dockerfile
在起始项目右键,添加docker支持,所有都默认,检查WORKDIR /app语句,确认app目录在linux存在,修改目录或者创建目录
将Dockerfile放在根目录下,并不是在某个项目下,上传到git。
如果第六步执行失败,查看控制台输出,如果提示Dockerfile不存在,则说明文件放错位置,放在sln同一级目录。
6:jenkins配置
宝塔:/var/jenkins_home/secrets initialAdminPassword 查看密码
打开ip:5076, 输入密码,安装默认插件,新建任务,源码管理选择git,配置好地址和用户名密码
构建中添加shell,输入
image_version=`date +%Y%m%d%H%M`;
echo $image_version;
# 中止以前的docker container
CID=$(docker ps | grep "test" | awk '{print $1}')
echo $CID
if [ "$CID" != "" ];then
docker stop $CID
docker rm $CID
fi
#docker stop test;
# 删除这个container
#docker rm test;
# build镜像而且打上tag
docker build -t test:$image_version .;
docker images;
# 把刚刚build出来的镜像跑起来
docker run -p 8066:80 --restart always --name test-d test:$image_version;
docker logs test;
点击立即构建。
查看控制台输出,如果监听的不是80端口,将上面命令8066:80 换成对应端口
浏览器打开: ip:8066
执行命令: 使jenkins自动重启
docker update --restart=always jenkins
还没有评论,来说两句吧...