本文基于GitHub演示自动化部署,实际上你可以选择任意的Git托管环境。
使用的模式:DooD(Docker-outside-of-Docker)。
本文所有内容均开源
链接
欢迎关注我的GitHub:
- neverc/netcore-jenkins(由于是半年前构建的,sdk版本为dotnet sdk:2.0)
- NeverCL/netcore-jenkins(上传docker hub上的源码)
- NeverCL/jenkins-demo(本例中的repo)
Jenkins安装
启动基于dotnet的jenkins:
docker run --name my-jenkins -P \
-e TZ='Asia/Shanghai' \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/jenkins_home:/var/jenkins_home \
-d neverc/netcore-jenkinsdocker exec -it my-jenkins cat /var/jenkins_home/secrets/initialAdminPassword // 查看jenkins的初始化密码,当然你可以去掉docker exec -it my-jenkins
安装的必选插件:Git GitHub Integration。
如果安装插件非常慢,可使用镜像:
上海大学镜像
GitHub
配置Person AccessToken
创建一个仓库
建议根目录添加1个setup.sh,用于jenkins构建
配置Jenkins
- 为了做到自动化部署,在Jenkins的系统设置中找到
GitHub Servers模块,选择secret text添加AccessToken为认证方式 - 在创建的Jenkins任务中,配置触发器为
GitHub hook trigger for GITScm polling - 构建选择执行 shell:
bash ./setup.sh