Jenkins Ansible Gitlab(GitHub)集成部署详解

一、Jenkins Ansible Gitlab(GitHub)集成部署项目前的准备工作

1)jdk的安装和配置

mkdir jdk                          创建一个用来存放jdk的目录

tar xzf jdk-8u181-linux-x64.tar.gz 解压tar.gz格式的压缩包命令

然后进入解压后的jdk目录
pwd                                查看当前jdk目录的绝对路径
复制这个绝对路径

vi /etc/profile                    用vi命令打开profile文件

用ALT+O来进行编辑profile文件

在文件最下面添加如下配置:
JAVA_HOME=/root/jdk/jdk1.8.0_181(这是我的JDK位置)
CLASSPATH=$JAVA_HOME/bin/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH


配置好后先点击ESC按键,再输入:wq退出vi编辑

source /etc/profile                 运行命令让profile文件配置立即生效

java -version                       最后就可以在任何目录查看当前JDK版本了


如果目录创建错了,可以用如下命令删除目录
rm -rf jdk-7u80-linux-x64.tar.gz

卸载jdk命令:
rpm -qa | grep jdk


如下图:

 2)用yum命令安装jdk

yum install java-1.8.0-openjdk* -y

用这种安装的jdk默认路径是/usr/lib/jvm/java-openjdk,不需要配置环境变量。 

二、maven的安装和配置 

mkdir maven                            创建存放maven的目录

cd maven                               进入maven目录

unzip apache-maven-3.3.9-bin.zip       解压zip格式的压缩包命令

然后进入解压后的maven目录
pwd                                    查看当前maven目录的绝对路径
复制这个路径

配置maven环境变量:
vi /etc/profile                       进入profile文件配置maven环境变量

按ALT+O进入编辑模式                    

在profile文件里面添加如下配置:
export MAVEN_HOME=/root/maven/apache-maven-3.3.9(这是我的maven目录位置))
export PATH=$PATH:$MAVEN_HOME/bin
最后先按ESC按键,再在文件最后输入:wq命令保存并退出vi编辑
source /etc/profile                     更新profile文件配置

配置ok后,就可以在任意目录输入mvn -v查看当前maven版本了                    

如下图:

三、jenkins的安装和配置

有三种安装的方式(任选一种)

1).直接到jenkins的安装命令执行java -jar jenkins.war --httpPort=9191(jenkins默认是8080端口,为防止端口冲突,最好改下端口)命令安装

2).直接把jenkins.war文件拷到你服务器的tomcat里面的webapps目录下

3).用yum安装Jenkins

我是用第三种方式进行jenkins的安装

1 检查是否安装了 gcc环境,如果没有请安装,否则后面会出现编译错误,gcc: Command not found*,

如果没有,请执行以下命令:

yum list installed | grep gcc   查看是否安装

yum install gcc  安装

yum的repos中默认是没有Jenkins的,需要先将Jenkins存储库添加到yum repos,执行如下命令:

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

执行完后就可以安装jenkins了,执行如下命令

yum install jenkins

随后就可以看到系统开始自动下载安装,出现提示是否下载的时候输入y并按回车。耐心等待安装完成。

如下图:

现在Jenkins已经安装好了,不过启动之前最好稍微修改一下配置。默认情况是Jenkins是使用Jenkins用户启动的,但这个用户目前系统并没有赋予权限,这里我们将启动用户修改为root;另外Jenkins默认端口是8080,这个跟tomcat的默认端口冲突,我们也修改一下默认端口。

输入如下命令进入Jenkins配置文件

vi /etc/sysconfig/jenkins

如下图: 

修改端口后,按ESC按键,再输入:wq保存并退出jenkins配置文件

上面的安装都搞完后,就可以启动jenkins了

service jenkins start                        启动jenkins                                        

启动会报错:如下

 这很明显是启动失败了,从报错信息看大约是这个意思jenkins.service的作业失败,因为控制进程退出并显示错误代码。有关详细信息,请参阅“systemctl status jenkins.service”和“journalctl -xe”

解决方案:

输入以下命令:

vi /etc/init.d/jenkins

编辑这个文件

 修改如下:(红线框是我加入的配置,是我的jdk的java目录)可以通过which java命令来获得jdk的安装目录

然后修改保存好后,再用service jenkins start命令启动jenkins.

这个时候会弹出一个会弹出一个warning警告

 然后输入命令 systemctl daemon-reload,然后再利用 service jenkins start 启动,发现ok了,如下图

然后我们可以用 ps -aux | grep jenkins命令查看进程,如下:


 

 再通过netstat -ntlp命令来查看端口占用情况,如下所示:

可以看出jenkins端口已经存在,现在就可以用浏览器测试能不能访问jenkins了: 

访问路径: http://公网ip:10000,效果如下:

这个时候需要从/var/lib/jenkins/secrets/initialAdminPassword这个文件里来获取你jenkins的密码:

可以用cat命令来获取,如下:

cat /var/lib/jenkins/secrets/initialAdminPassword   获取密码

效果图:

把这个密码复制后在点击continue按钮,选择插件,可以选自定义也可以选jenkins推荐的。一般选建议的,如果不需要选择太多的插件,那可以装自定义的,以减少内存。点击后会出现以下页面:

我这里是选择jenkins建议的。

点击后会需要等一会,如下:

这个时间长是因为jenkins要集成很多功能,如maven和git。请大家耐心等待

 创建第一个用户。

安装成功效果图:

 

 四、gitlab的安装与配置(用服务器搭建gitlab私服)

systemctl stop firewalld     centOS7关闭防火墙

systemctl disable firewalld  开机禁用防火墙,防止开机自启动

vi /etc/sysconfig/selinux    关闭selinux强制访问安全策略,保证该策略不会影响gitlab的正常运行
需要把这个selinux配置文件SELINUX的值改为disabled,然后用reboot命令重启使配置生效

重启后可以用getenforce命令看看selinux强制访问安全策略是否已经关闭(disabled)

yum install curl policycoreutils openssh-server openssh-clients postfixs  安装gitlab的依赖包
安装的时候需要输入一下y

如下是安装成功的信息:

 通过curl命令来下载gitlab yum仓库源:

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

如下是仓库安装成功的消息:

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JenkinsAnsibleGitLab都是软件开发和运维中常用的工具。 Jenkins是一款开源的持续集成工具,可以自动化构建、测试和部署软件。它可以与各种版本控制系统集成,如Git、SVN等,也可以与各种构建工具集成,如Maven、Gradle等。 Ansible是一款开源的自动化运维工具,可以用来自动化部署、配置和管理服务器。它使用SSH协议进行通信,可以轻松地管理大量服务器。 GitLab是一款开源的代码托管平台,类似于GitHub。它提供了代码仓库、问题跟踪、持续集成等功能,可以帮助团队协作开发软件。 这三款工具可以结合使用,例如使用Jenkins进行持续集成部署,使用Ansible进行自动化部署和配置,使用GitLab进行代码托管和问题跟踪。这样可以提高软件开发和运维的效率和质量。 ### 回答2: JenkinsAnsibleGitlab都是常用的DevOps工具,它们各自担负着不同的角色。 Jenkins是一种开源的自动化构建和测试工具,可用于自动化构建、测试和部署应用程序。Jenkins可以与许多其他DevOps工具集成,如GitHubGitlab等。它可以监控代码库的变化并自动构建、测试和部署应用程序,从而提高应用程序的可靠性和质量。Jenkins还提供了许多插件,可以方便地扩展其功能。 Ansible是一种自动化IT工具,它可用于部署、配置和管理应用程序。它可以自动化整个应用程序的部署过程,包括从基础设施到应用程序的所有方面。使用Ansible,我们可以使我们的应用程序更加容易部署、维护和扩展。它还提供了可重复使用的脚本和模板,可以为我们节省很多时间和精力。 Gitlab是一种源代码管理工具,它可用于跟踪、管理和共享代码库。它配备了许多有用的功能,如源代码版本控制、问题跟踪、项目管理等。Gitlab还提供了API,可以方便地与其他工具集成,如JenkinsAnsible等DevOps工具。 综上所述,JenkinsAnsibleGitlab分别担负着自动化构建和测试、自动化部署和配置以及源代码管理和跟踪的角色。结合使用它们可以使我们的DevOps过程更加高效、可靠和可维护。 ### 回答3: JenkinsAnsibleGitLab都是现代化的持续集成和持续部署(CI/CD)工具,它们具有自动化构建、部署和测试软件的能力,可以显著提高开发团队的效率和软件的质量。 Jenkins是一款功能强大的持续集成工具,它支持各种项目类型,包括Java、.NET、Ruby、Python等,并且提供了大量的插件来扩展功能。Jenkins可以自动构建项目、运行单元测试、生成报告、发布到服务器等。同时,Jenkins还支持分布式构建,可以将构建任务分发到多台计算机上,提高构建效率。 Ansible是一款轻量级的自动化部署工具,它可以通过SSH协议远程管理多个服务器,并执行各种任务,例如应用程序部署、配置管理、负载均衡等。Ansible使用YAML语言编写任务,让配置和管理非常简单,并且可以自动化地部署更改,从而实现快速、可靠的软件部署GitLab是一款自托管的Git仓库管理工具,它可以帮助团队更好地管理版本控制,并且提供了CI/CD管道的能力。GitLab的CI/CD管道使用YAML语法编写,可以运行自定义的构建脚本,也可以利用Docker容器来管理应用程序的依赖项。 JenkinsAnsibleGitLab可以集成使用,实现完整的CI/CD工作流。例如,Jenkins可以自动化构建、测试和打包应用程序,并将其发布到GitLab仓库。然后,使用Ansible自动化部署到生产服务器,并在部署过程中运行测试以确保应用程序的稳定性。集成这些工具可以让开发和运维团队更加协同工作,加速应用程序上线,提高软件质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值