Jenkins
可以整合GitHub或Subversion
手动部署:
自动部署:程序员只要把代码提交上去,服务器运行的马上就是最新版本。
===================
Jenkins+SVN持续集成环境搭建
三个虚拟机环境:SVN版本控制系统 + Jenkins持续集成子系统 + 项目应用发布子系统
SVN版本控制子系统:Subversion + 项目对应的版本库 + 版本库中的钩子程序
创建SVN版本库
进入conf中为当前版本库进行设置权限,并常见用户名和密码
设置指定用户的读写权限,其他账号无权限
本地开发创建项目
并创建本地SVN库
Jenkins持续集成子系统:JDK + Tomcat + Maven + Jenkins
解锁Jenkins
全局安全配置:
全局工具配置:
管理插件
Kenkins和SVN整合的时候需要用到SVN插件,已安装的插件中搜Subversion Plug-in (默认已安装)
搜可选插件Deploy to Container,并安装
构建好maven后,配置构建war包
钩子触发器的配置
访问以下地址即可触发构建,相当于钩子程序通知Jenkins
编辑钩子程序
解决本地版本和发布版本不一致
Docker下安装Jenkins
一、拉取镜像
docker pull jenkinsci/blueocean
二、创建容器:
docker create --name jenkins -u root -p 8091:8080 --privileged=true -v jenkinsdata:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v/home/jenkins:/home docker.io/jenkinsci/blueocean
三、启动容器
docker start jenkins
四、通过浏览器访问http://ip:8091
初次运行Jenkins会经过一个安装过程,一般情况使用默认配置,一直下一步安装即可,其中一步需要输入密码,如下图所示:
分别执行如下命令即可得到初始密码(账户名默认是admin),建议首次登录成功后,修改密码
docker exec -it jenkins /bin/bashcat /var/jenkins_home/secrets/initialAdminPassword
五、Jenkins常用插件安装
六、Jenkins全局工具配置
Jenkins在进行持续集成工作时依赖Jdk1.8、Git、maven,所以需要进行一些全局工具配置,如下图所示:
Maven安装:可以采用“自动安装”,在下图中勾选自动安装,选择maven版本即可。或将maven程序目录拷贝到宿主机/home下,按上图进行配置即可。
Jdk安装配置,与maven安装相同,也可以采用自动安装或手动安装的方法。
Git安装方法同上
配置git凭证
此凭证用于远程从git仓库获取工程源代码,输入git仓库的账号和密码
有了该凭证后,Jenkins即可以从Gogs仓库中获取项目源码
项目应用发布子系统:JDK + Tomcat
记录Tomcat服务器的账号和密码,位于Tomcat解压目录后的conf/tomcat-users.xml中
=====================
Jenkins+GitHub持续集成环境搭建
大部分步骤和整合SVN一样
区别:
1. Jenkins要部署到外网上,因为GitHub是无法访问到内网的,通过租用阿里云等平台提供的云服务实现
2. Jenkins所在的主机上需要安装Git,通过git程序从GitHun上的clone代码
3. Jenkins需要指定git程序的位置,和指定JDK/Maven程序非常类似
4. 在GitHub上使用每个repository的WebHook方式远程触发Jenkins构建
5. 在Jenkins内关闭防止跨站点请求伪造
Linux安装git
Jenkins中指定git客户端
去掉防止跨站点请求伪造
Gogs
Gogs 是一个用于代码仓库管理系统的开源项目,它使用Git作为代码管理工具,并在此基础上搭建起来的web服务。Gogs与GitHub的功能相似,通常企业使用Gogs在局域网搭建自己的Git代码管理仓库。
一、安装Gogs
①、新建gogs目录,编写docker-compose.yml文件:
gogs:
image: docker.io/gogs/gogs:latest
links:
- mysql-gogs:mysql
ports:
- "10022:22"
- "10080:3000"
volmes:
- "./data:/data/gogs"
- "./repo:/data/git/gogs-repositories"
restart: always
mysql-gogs:
image: docker.io/mysql:5.7.21
ports:
- "3306:3306"
valumes:
- ./mysql-gogs/mysql:/var/lib/mysql
- ./mysql-gogs/conf.d:/etc/mysql/conf.d:rw
environment:
- MYSQL_DATABASE=gogs
- MYSQL_USER=gogs
- MYSQL_PASSWORD=gogs
- MYSQL_ROOT_PASSWORD=root
command: mysqld --lower_case_table_names=1 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
restart: always
②、启动Gogs :docker-compose up
③、浏览器访问:http://127.0.0.1:10080/
初次访问需要等待一段时间,然后进行基本配置,填写数据库用户名和密码:gogs/gogs
. 初始化成功后,即可通过注册新建用户:http://127.0.0.1:10080/user/sign_up,最后登录即可
二、新建仓库
项目新建成功,进入项目主页,通过项目主页即可访问项目内容,并得到项目的Git仓库地址:
三、使用Git管理项目
在Idea中集成Git,在本机安装Git,并在Idea中设置Git路径
设置修改代码后父级目录颜色变化:
从Gogs仓库检出项目,打开idea,按下图菜单指示从Gogs克隆项目:
输入项目的Git仓库地址进行克隆:
克隆完毕后,在工程根目录创建 .gitignore,此文件中记录了在提交代码时哪些文件或目录被忽略
把之前开发好的项目代码复制到该目录中
执行add
执行commit 提交文件到本地仓库
提交到Gogs远程仓库