jenkins+docker+gogs,初试,一些基础操作,流程,实现git push 自动打包文件上传服务器,重启docker。

docker安装Jenkins

使用Jenkins的镜像 自己只需要改下端口 也可以不改 jenkins-zh(中文)
docker run -d --restart=unless-stopped --name jenkins_954L -u root \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/local/dockerinfo/jenkins:/var/jenkins_home \
-p 60000:60000 -p 50000:50000 jenkinszh/jenkins-zh

公司用了iKuai 所以需要设置下端口映射。。。。。。

直接访问 http://ip:端口/ 就显示下面这个了

jenkins+docker+gogs前端自动化部署_系统管理

docker exec -it 容器ID /bin/bash  进如容器复制代码
cat /var/jenkins_home/secrets/initialAdminPassword   查看密码复制代码

输入获取的密码 下一步 新手入门等待安装插件,选择推荐就好 等待安装完成jenkins+docker+gogs前端自动化部署_前端_02

创建一个管理员用户 进入主界面

jenkins+docker+gogs前端自动化部署_Jenkins_03

插件管理

可能需要安装一些插件

系统管理》插件管理》系统管理》插件管理》系统管理》插件管理》jenkins+docker+gogs前端自动化部署_docker_04

这里安装选择直接安装,特别说一下插件安装完要重启才生效

全局工具配置

系统管理》全局工具配置》系统管理》全局工具配置》系统管理》全局工具配置》

jenkins+docker+gogs前端自动化部署_docker_05

看有些博客都是标配JDK、node、Maven什么的,上来就配置这些,这个不是必须配置的,按需配置按需配置按需配置,需要什么配置什么,像vue、react打包就需要先在插件管理安装插件管理安装插件管理安装node插件在全局工具配置全局工具配置全局工具配置配置下node。

GOgs配置

下面正式开始配置GOgs自动化

  1. 首先去插件管理安装Gogs,记得Jenkins重启要选上,自动重启生效。
  2. 首页左侧菜单新建任务新建任务新建任务选择构建一个自由风格的软件项目构建一个自由风格的软件项目构建一个自由风格的软件项目
任务名称在添加Web钩子需要用到 job=<你的Jenkins任务名>job=<你的Jenkins任务名>job=<你的Jenkins任务名>

jenkins+docker+gogs前端自动化部署_服务器_06

  1. 在源码管理源码管理源码管理选择git,Repository URL粘贴你仓库地址,Credentials就是你的git用户名密码

jenkins+docker+gogs前端自动化部署_服务器_074. 添加凭据,户名密码是git用户名密码,id随便填,用来区分的jenkins+docker+gogs前端自动化部署_docker_085.Gogs Webhook 这个你如果没有安装Gogs插件就不会有这一项,按需选择即可jenkins+docker+gogs前端自动化部署_前端_09

jenkins+docker+gogs前端自动化部署_docker_106.构建触发器,我这里选择只要push就自动构建,按需选择即可

jenkins+docker+gogs前端自动化部署_前端_11

  1. 在Gogs找到仓库设置仓库设置仓库设置》管理web钩子管理web钩子管理web钩子》添加Web钩子添加Web钩子添加Web钩子》选择GogsGogsGogs

jenkins+docker+gogs前端自动化部署_前端_12

jenkins+docker+gogs前端自动化部署_系统管理_13

jenkins+docker+gogs前端自动化部署_前端_14

8.添加Web钩子填写推送地址 http(s)//<你的Jenkins地址>/gogs-webhook/?job=<你的Jenkins任务名>点击测试推送测试推送测试推送 成功 GOgs会看到下推送记录(绿色对号)jenkins+docker+gogs前端自动化部署_前端_15

相应的Jenkins会出现一条构建信息jenkins+docker+gogs前端自动化部署_前端_16此时基本完成了

  1. 构建环境 这个按需

jenkins+docker+gogs前端自动化部署_前端_17

  1. 构建

什么时候执行构建构建构建,就是满足配置触发条件后执行

jenkins+docker+gogs前端自动化部署_服务器_18

执行shell执行 shell执行shell

在本地(Jenkins)执行shell 如打包等操作

SendfilesorexecutecommandsoverSSHSend files or execute commands over SSHSendfilesorexecutecommandsoverSSH在服务器上执行shell这里需要安装PublishoverSSHPublish over SSHPublishoverSSH插件

系统管理》系统配置》系统管理》系统配置》系统管理》系统配置》

jenkins+docker+gogs前端自动化部署_系统管理_19

  • Name:随便写
  • Hostname:服务器地址
  • Username:服务器账号名
  • Remote Directory:远程目录,上传文件用
  • 点高级再改更多配置
  • 勾选Use password authentication, or use a different key 使用密码登陆
  • Passphrase / Password:服务器账密码
  • Port:端口 默认22 不是记得改
  • 点击testConnection 测试是否链接成功

jenkins+docker+gogs前端自动化部署_Jenkins_20

  • Source files 》任务中工作空间目录
  • Remote directory 》服务器目录就是在Publish over SSH配置的Remote Directory
  • Exec command》在服务器执行的shell
    可以用 Source files拷贝文件到Remote directory

第一次搞jenkins,还有好多不懂,哪里对还请留言

有个问题还请懂得指教一下,Publish over SSH可以操作远程服务器,有没有能操作远程服务器上的docker的方法呢