一.安装gogs
1.拉取gogs镜像
docker pull gogs/gogs
2.运行gogs容器
docker run -di --name=gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs
3.访问地址:http://xxxxxx:3000,界面如下, 其中数据库类型一般选择SqlLite,域名填ip,应用URL填服务器的,其余默认
4.登录gogs并创建仓库
二.安装jenkins
1.安装Jinkins
docker pull jenkins/jenkins
2.启动Docker容器
#新建文件夹
mkdir /var/jenkins
#赋予权限
chmod 777 /var/jenkins
docker run -p 8080:8080 -p 50000:50000 -d -v /var/jenkins:/var/jenkins_home --name myjenkins jenkins/jenkins
3.初始化jenkins
打开浏览器http:xxxx:8080
4.校验密钥
docker logs myjenkins 或 进入myjenkins容器 docker exec -it myjenkins bash 输入上图红色路径 cat xxxxx 复制密码输入
5.安装推荐插件 (等待安装完成)
6.设置管理员
7.安装 Publish Over SSH 和 gogs 插件
进入jenkins管理
选择插件管理
在可选插件里分别搜索 Publish Over SSH 和 gogs 点击立即安装,我这里已经安装好了,就不必再装了
等待安装完成,安装进度可在左边的更新中心查看
8.配置SSH
进入系统设置
9.配置gogs webhook
进入gog后台的仓库
进入jenkins后台
如果设置了私有仓库,jenkins也有带账号拉取,具体如下:
继续往下拉,设置ssh
chown -R nobody:nobody /var/work/BlazorApp; cd /var/work/BlazorApp; #进入jenkins拉取目录 docker-compose up --build -d;#执行docker-compose构建 docker images;
保存成功后,我们在jenkins首页就会看到对应的任务了
点击任务 进去试试水
打完收工,配置好之后,gogs每推送一次,就会触发webhook到jenkins自动部署到docker