gitlab+jenkins+docker 实现自动化部署(一)
目录
此次用一台主机作为试验环境,gitlab和jenkins使用容器化的方式部署。
Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,提供了数百个插件来支持构建,部署和自动化任何项目。我们可以使用Jenkins
结合常用的版本控制工具(git、svn等)
来实现自动部署项目,比如说我们从本地上传代码到Gitlab代码仓库,Jenkins就会帮我们自动同步代码,然后经编译打包之后推送至远程Docker仓库,再之后我们通过服务器从远程Docker仓库拉取镜像、创建及启动容器,然后就可以通过浏览器访问了,整个过程几乎都是自动完成的,而我们只需要上传代码就可以了。
1.安装环境
JDK下载路径:链接: https://pan.baidu.com/s/1HL8T7tgJnO2ZryihRVt44w 提取码: 868r
1.1配置JDK
JDK:我们让jdk放在指定的位置就需要我们先创建文件夹
mkdir - p /usr/java
上传jdk到服务器指定的目录进行解压
tar -zxvf jdk-8u181-linux-x64.tar.gz
配置环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_181 ///java的具体解压包路径jdk1.8.0_181替换为你解压后的文件夹名字
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
加载环境变量,查验java版本是否可以使用
source /etc/profile //加载环境变量
java -verison //查看java版本
成功安装java(不,应该说是成功可以调用java)
1.2 配置maven环境
将文件放置在指定目录,首先创建目录,进入到该目录下:
mkdir -p /usr/maven
cd /usr/maven
然后下载,解压。
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz //下载
tar -zxvf apache-maven-3.3.9-bin.tar.gz //解压
设置环境变量
export MAVEN_HOME=/usr/maven/apache-maven-3.3.9
export PATH=$MAVEN_HOME/bin:$PATH
加载环境变量,测试maven是否可以调用:
source /etc/profile //加载环境变量
mvn -v //查看是否成功
配置镜像加速+指定仓库地址, 配置jar包下载路径,自己指定路径。
配置阿里镜像加速,默认是从中央仓库拉取的。
1.3 dokcer的安装
之前的博客有写怎样安装详情请移步二进制安装Docker_秋为春的博客-CSDN博客_docker 二进制安装
2. 使用docker搭建gitlab
拉取镜像,不指定版本,默认拉取的是最新版本。
docker pull gitlab/gitlab-ce
创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 容器启动后可以映射到本机,然后后续就可以直接在主机查看和编辑了,不用再进入容器操作,便于日后升级, 因此我们先准备这三个目录。
# 配置文件
mkdir -p /home/gitlab/etc
# 数据文件
mkdir -p /home/gitlab/log
# 日志文件
mkdir -p /home/gitlab/data
创建并启动容器
docker run --publish 8443:443 \
--publish 8090:80 \
--name gitlab \
--privileged=true
--restart unless-stopped \
-v /home/gitlab/etc:/etc/gitlab \
-v /home/gitlab/log:/var/log/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest;
修改配置文件,不修改配置文件,是无法访问gitlab的。
修改 /home/gitlab/etc/gitlab.rb
把external_url
改成部署机器的域名或者IP地址。
修改 /home/gitlab/data/gitlab-rails/etc/gitlab.yml。
vi /home/gitlab/data/gitlab-rails/etc/gitlab.yml
找到关键字 ## Web server settings ,将 host 的值改成映射的外部主机 ip 地址和端口,这里会显示在 gitlab 克隆地址。
修改之后,我们重启一下 gitlab
docker restart gitlab
就可以访问了
但是不知道密码是啥,直接改吧,改为了wzj123456。
进入容器命令:docker exec -it <容器id> bash
执行 gitlab-rails console //进入中终端
user = User.where(username: 'root').first //查找用户
user.password = 'wzj123456' //更改密码
user.password_confirmation = 'wzj123456' //
user.save!
必须同时更改密码和password_confirmation才能使其正常工作,别忘了保存更改
进来了,啊哦,舒服。
操作
界面是英文的,如果想改中文的话,在设置里面改就好了,在这里就不多阐述这个了。
新建空白项目
clone一下代码
如果没有Git命令,就需要yum安装一下
yum -y install git
拉取
git clone http://192.168.17.153:8090/root/ceshi.git
由于我没有创建任何东西,所以拉的话是个空版本库,拉的期间还需要用户和密码。
3.使用docker部署Jenkins
拉取Jenkins镜像
docker pull jenkins/jenkins:lts
运行Jenkins
docker run --name=jenkins --privileged=true \
-u root \
--rm \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v $(which docker):/usr/bin/docker \
-v /etc/sysconfig/docker:/etc/sysconfig/docker \
-v /usr/java/jdk1.8.0_181:/usr/java/jdk1.8.0_181 \
-v /usr/maven/apache-maven-3.3.9:/usr/local/maven \
-v /usr/maven/repo:/usr/local/maven_repository \
-v /usr/jenkins-data:/var/jenkins_home \
jenkins/jenkins:lts
浏览器打开:http://192.168.17.153:8080
在docker中查密码
docker logs jenkins
我们选择推荐的插件
安装完成了吖
进行实例地址配置,该地址将作为将来Jenkins
的访问地址:
Maven配置修改,依次进入:系统管理
> 全局工具配置
①首先是顶部的Maven
,我们选择文件系统中的setting
文件,文件路径
使用创建容器时指定的Maven
路径/usr/maven/
/usr/maven/apache-maven-3.3.9/conf/settings.xml
②然后拉到最下边Maven
节点,点击新增Maven
,起一个名字,然后指定maven路径
,去掉自动安装
的选项,然后应用>保存
:
创建项目
点击确定之后会跳入配置界面,接下来就是配置我们的自动化操作,首先是配置项目的拉取地址,在这我是基于Gitlab的。
报错是因为没有认证,需要添加GitLab的账号和密码
添加后就没有报错
后续接着爆肝~~
更多推荐
所有评论(0)