gitlab+jenkins+docker Linux环境自动化部署--环境准备

一、原理

图解一
gitlab+jenkins+docker Linux环境自动化部署--环境准备_第1张图片
图解二
gitlab+jenkins+docker Linux环境自动化部署--环境准备_第2张图片

Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,提供了数百个插件来支持构建,部署和自动化任何项目。我们可以使用Jenkins结合常用的版本控制工具(git、svn等)来实现自动部署项目,比如说我们从本地上传代码到Gitlab代码仓库,Jenkins就会帮我们自动同步代码,然后经编译打包之后推送至远程Docker仓库,再之后我们通过服务器从远程Docker仓库拉取镜像、创建及启动容器,然后就可以通过浏览器访问了,整个过程几乎都是自动完成的,而我们只需要上传代码就可以了。

二、环境配置

1.jdk

1.查找jdk版本
yum search java | grep -i --color JDK

2.安装jdk
yum install 安装包名

3.配置环境变量
1)cd /usr/lib/jvm  
2)使用ll 查看内容。
3)/etc/alternatives/java_sdk_1.8.0_openjdk 
4)使用vi /etc/profile 进入文件编辑环境变量。

2.maven


3.安装docker

1.卸载旧版本
sudo yum remove \
docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

2. 安装必要的系统工具
sudo yum install -y \
yum-utils \
device-mapper-persistent-data \
lvm2

3. 搜索docker版本
yum list docker-ce --showduplicates | sort -r

4. 通过查找到的版本,使用下面命令进行安装。
#yum install docker-ce- docker-ce-cli- containerd.io
yum install docker-ce-19.03.5 docker-ce-cli-19.03.5 containerd.io

5. 安装完成,启动docker
systemctl start docker

6. 查看当前版本
docker -v

三、部署

1.部署gitlab[docker]

1.拉取镜像,不指定版本,默认拉取的是最新版本。
docker pull gitlab/gitlab-ce

2.创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 容器启动后可以映射到本机,然后后续就可以直接在主机查看和编辑了,不用再进入容器操作,便于日后升级, 因此我们先准备这三个目录。
# 配置文件
mkdir -p /home/gitlab/etc
# 数据文件
mkdir -p /home/gitlab/log
# 日志文件
mkdir -p /home/gitlab/data

2.创建并启动容器
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;

3.修改配置文件
不修改配置文件,是无法访问gitlab的
修改 /home/gitlab/etc/gitlab.rb 把external_url改成部署机器的域名或者IP地址。

4.修改/home/gitlab/data/gitlab-rails/etc/gitlab.yml。
vi /home/gitlab/data/gitlab-rails/etc/gitlab.yml
找到关键字**Web server settings**
将 host 的值改成映射的外部主机 ip 地址和端口,这里会显示在 gitlab 克隆地址。 

5.重启gitlab
docker restart gitlab 

6.登入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才能使其正常工作,别忘了保存更改

gitlab初始化以及使用参照博客:【】

2.部署jenkins[docker]

1.拉取Jenkins镜像
docker pull jenkins/jenkins:lts

2.运行Jenkins【配置docker映射关系并运行】
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

3.浏览器打开
http://ip:8080

4.在docker中查密码
docker logs jenkins

你可能感兴趣的:(部署运维实操,jenkins,docker,linux)