服务部署与持续集成(二)
使用Gogs
什么是Gogs
Gogs 是一款极易搭建的自助 Git 服务。Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语
言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
git地址:https://github.com/gogs/gogs
gitee地址: https://gitee.com/Unknown/gogs
Gogs安装与配置
安装
方式一
- 在centos中安装git
yum install git - 创建用户kongliang并设置密码
adduser kongliang
passwd kongliang
我这里设置的密码是就不说了,哈哈.
- 上传压缩包 gogs0.11.86linux_amd64.tar.gz (资源目录中提供)到centos ,解压。
- 使用命令 cd 进入到刚刚创建的目录。
- 执行命令 ./gogs web
方式二(同样需要git)
- 拉取镜像:
docker pull gogs/gogs
- 创建物理目录:
mkdir -p /var/gogs
- 启动:
docker run -d --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs
参数说明:
-p: 建立宿主机和容器的端口映射,将容器的22端口映射到宿主机的10022端口, 将容器的3000端口映射到宿主机的10080端口;
-v: 将宿主机的目录挂载到容器中.(将数据与容器分离)
配置
假设我的centos虚拟机IP为47.96.70.206 完成以下步骤
(1)在地址栏输入http://47.96.70.206:10080 会进入首次运行安装程序页面,我们可以选择一种数据库作为gogs数据的存储,最简单的是选择SQLite3。如果对于规模较大的公司,可以选择MySQL
这个配置需要注意几个点:
仓库根目录: 保持默认值 `/home/git/gogs-repositories` ,因为start.sh已经为你创建了一个链接,请勿修改.
系统运行用户: 保持默认值 git, 因为 build.sh中已经设置了用户 git.
域名:这里填写docker容器的 IP (e.g. 192.168.99.100). 但是,如果你想从不同的物理机器访问Gogs实例,请填写Docker主机的主机名或IP地址.我们这里填写47.96.70.206即可
SSH 端口号: 用来暴露Docker容器端口。例如,SSH服务器在Docker内部监听22,但是你通过10022:22暴露它,然后请使用10022。不建议在Docker容器中内置SSH服务器
HTTP 端口号:使用你希望Gogs监听Docker容器内部的端口. 比如, 你的 Gogs 监听Docker内部的3000端口, 而且你通过 10080:3000暴露它, 但是这里仍然需要使用3000作为这个端口.
应用 URL: 域名和HTTP宿主机暴露端口的组合 (e.g. http://47.96.70.206:10080/).
在这个页面可以添加管理员账号,这里就不说明了.添加完管理员后,点击“立即安装”,安装后显示主界面.
(2)创建仓库
IDEA配置Git
步骤:
(1)在本地安装git(Windows版本)
(2)在IDEA中选择菜单 : File – settings , 在窗口中选择Version Control – Git
将你的demo提交到Git
步骤:
(1)选择菜单VCS --> Enable Version Control Integration…,选择Git
(2)设置远程地址: 右键点击工程选择菜单 Git --> Repository -->Remotes…
(3)右键点击工程选择菜单 Git --> Add
(4)右键点击工程选择菜单 Git --> Commit Directory…
(5)右键点击工程选择菜单 Git --> Repository --> Push
最终如上图一样,提交成功.
maven安装
(1)下载maven
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
(2)解压maven
tar -zxvf apache-maven-3.6.1-bin.tar.gz
(3) 将apache-maven-3.6.1改名为maven
mv apache-maven-3.6.1 maven
(4)修改配置
vim maven/conf/settings.xml
在settings.xml中添加
<localRepository>/usr/local/maven/repo</localRepository>
Jenkins安装与启动
(1)下载jenkins
wget https://pkg.jenkins.io/redhat/jenkins‐2.173‐1.1.noarch.rpm
(2)安装jenkins
rpm ‐ivh jenkins‐2.173‐1.1.noarch.rpm
(3)配置jenkins
vi /etc/sysconfig/jenkins
修改用户和端口,为了不因为权限出现各种问题,这里直接使用root
JENKINS_USER="root"
JENKINS_PORT="8888"
(4)启动服务
systemctl start jenkins
注意:如果启动报错Starting Jenkins bash: /usr/bin/java: No such file or directory,
请添加正确的java路径,如下所示
vim /etc/init.d/jenkins
在candidates的第一行添加正确的java路径,我的是/usr/local/jdk1.8.0_201/bin/java
然后刷新一下systemctl daemon-reload
(5)访问链接 http://47.96.70.206:8888,需要稍稍等待.通过cat /var/lib/jenkins/secrets/initialAdminPassword
获取密码.
(6) 安装插件
安装推荐的插件,这个过程有点慢.
(7)新建用户
实例配置
完成后进入主界面
Jenkins安装插件
安装Maven插件
(1)点击左侧的“系统管理”菜单 ,然后点击
(2)选择“可选插件”选项卡,搜索maven,在列表中选择Maven Integration ,点击“直接安装”按钮
看到如下图时,表示已经完成
安装Git插件
本安装包已经安装好了git插件
全局工具配置
选择系统管理,全局工具配置
(1)JDK配置
设置javahome为 /usr/local/jdk1.8.0_201
(2)Git配置
默认配置即可
(3)Maven配置
设置mavenhome为 /usr/local/maven
持续集成
创建任务
(1)回到首页,点击新建按钮 .如下图,输入名称,选择创建一个Maven项目,点击OK
(2)源码管理,选择Git
(3)Build
命令:clean package docker:build ‐DpushImage
用于清除、打包,构建docker镜像.最后点击“保存”按钮.
执行任务
返回首页,在列表中找到我们刚才创建的任务点击右边的绿色箭头按钮,即可执行此任务.点击下面正在执行的任务
可以看到实时输出的日志,最终
这个配置需要注意几个点:
仓库根目录: 保持默认值 `/home/git/gogs-repositories` ,因为start.sh已经为你创建了一个链接,请勿修改.
系统运行用户: 保持默认值 git, 因为 build.sh中已经设置了用户 git.
域名:这里填写docker容器的 IP (e.g. 192.168.99.100). 但是,如果你想从不同的物理机器访问Gogs实例,请填写Docker主机的主机名或IP地址.我们这里填写47.96.70.206即可
SSH 端口号: 用来暴露Docker容器端口。例如,SSH服务器在Docker内部监听22,但是你通过10022:22暴露它,然后请使用10022。不建议在Docker容器中内置SSH服务器
HTTP 端口号:使用你希望Gogs监听Docker容器内部的端口. 比如, 你的 Gogs 监听Docker内部的3000端口, 而且你通过 10080:3000暴露它, 但是这里仍然需要使用3000作为这个端口.
应用 URL: 域名和HTTP宿主机暴露端口的组合 (e.g. http://47.96.70.206:10080/).
在这个页面可以添加管理员账号,这里就不说明了.添加完管理员后,点击“立即安装”,安装后显示主界面.
(2)创建仓库
IDEA配置Git
步骤:
(1)在本地安装git(Windows版本)
(2)在IDEA中选择菜单 : File – settings , 在窗口中选择Version Control – Git
将你的demo提交到Git
步骤:
(1)选择菜单VCS --> Enable Version Control Integration…,选择Git
(2)设置远程地址: 右键点击工程选择菜单 Git --> Repository -->Remotes…
(3)右键点击工程选择菜单 Git --> Add
(4)右键点击工程选择菜单 Git --> Commit Directory…
(5)右键点击工程选择菜单 Git --> Repository --> Push
最终如上图一样,提交成功.
maven安装
(1)下载maven
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz
(2)解压maven
tar -zxvf apache-maven-3.6.1-bin.tar.gz
(3) 将apache-maven-3.6.1改名为maven
mv apache-maven-3.6.1 maven
(4)修改配置
vim maven/conf/settings.xml
在settings.xml中添加
<localRepository>/usr/local/maven/repo</localRepository>
Jenkins安装与启动
(1)下载jenkins
wget https://pkg.jenkins.io/redhat/jenkins‐2.173‐1.1.noarch.rpm
(2)安装jenkins
rpm ‐ivh jenkins‐2.173‐1.1.noarch.rpm
(3)配置jenkins
vi /etc/sysconfig/jenkins
修改用户和端口,为了不因为权限出现各种问题,这里直接使用root
JENKINS_USER="root"
JENKINS_PORT="8888"
(4)启动服务
systemctl start jenkins
注意:如果启动报错Starting Jenkins bash: /usr/bin/java: No such file or directory,
请添加正确的java路径,如下所示
vim /etc/init.d/jenkins
在candidates的第一行添加正确的java路径,我的是/usr/local/jdk1.8.0_201/bin/java
然后刷新一下systemctl daemon-reload
(5)访问链接 http://47.96.70.206:8888,需要稍稍等待.通过cat /var/lib/jenkins/secrets/initialAdminPassword
获取密码.
(6) 安装插件
安装推荐的插件,这个过程有点慢.
(7)新建用户
实例配置
完成后进入主界面
Jenkins安装插件
安装Maven插件
(1)点击左侧的“系统管理”菜单 ,然后点击
(2)选择“可选插件”选项卡,搜索maven,在列表中选择Maven Integration ,点击“直接安装”按钮
看到如下图时,表示已经完成
安装Git插件
本安装包已经安装好了git插件
全局工具配置
选择系统管理,全局工具配置
(1)JDK配置
设置javahome为 /usr/local/jdk1.8.0_201
(2)Git配置
默认配置即可
(3)Maven配置
设置mavenhome为 /usr/local/maven
持续集成
创建任务
(1)回到首页,点击新建按钮 .如下图,输入名称,选择创建一个Maven项目,点击OK
(2)源码管理,选择Git
(3)Build
命令:clean package docker:build ‐DpushImage
用于清除、打包,构建docker镜像.最后点击“保存”按钮.
执行任务
返回首页,在列表中找到我们刚才创建的任务点击右边的绿色箭头按钮,即可执行此任务.点击下面正在执行的任务
可以看到实时输出的日志,最终