本次使用的docker版本为
1.首先需要安装docker.
2.启动docker后,service docker start
3.拉取镜像 docker pull gitlab/gitlab-ce
4. 启动镜像,并进行端口的映射 (先要创建那三个文件夹 config logs data ,hostname为宿主机ip)
docker run -d -p 443:443 -p 80:80 -p 8022:22 --name gitlab --restart always --hostname 192.168.2.82 -v /opt/docker-mapping/gitlab/config:/etc/gitlab -v /opt/docker-mapping/gitlab/logs:/var/log/gitlab -v /opt/docker-mapping/gitlab/data:/var/opt/gitlab 镜像id
5.然后访问80 端口
6.如果内存不够,8G左右,启动慢的话,访问就会出现502(本人使用虚拟机分配1G内存,总是502,启动需要6分钟,偶尔能够启动成功)
和JenKins 持续继承
docker 安装jenkins ,
创建目录 mkdir jenkins_home
赋予权限 chown -R 1000 jenkins_hone/
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /opt/docker-mapping/jenkins/jenkins_hone:/var/jenkins_home jenkins
成功之后
端口是8080 进行访问
下面进行一个完整的持续集成 springboot + docker + gitlib +jenkins
1. gitlab和docker 的安装就不介绍了
2. 首先在服务器上面安装所需要的环境 git maven java或者openjava
3.建议不要使用docker 安装jenkins
---安装步骤,在这里我们下载一个war 包 https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.176.1/jenkins.war 或者直接到官网下载 https://jenkins.io/download/
----启动 jenkins nohup java -jar jenkins.war --httpPort=8080 & 或者 nohup java -jar jenkins.war --httpPort=9003 >/dev/null 2>/dev/null &
4.具体的安装就不介绍了,直接从主要的内容开始
在开始之前首先我们要安装 新增GitLab Plugin 和Maven Integration plugin 插件 这个就不多介绍了
①.点击新建任务
② 创建任务的名称,相应的会在服务器上添加这个名称的空间目录
③ 输入git 的地址
④点击添加,输入git的账号和密码,当然也可以选择其他方式,完成之后并选中
⑤选中对应的触发 Build when a change is pushed to GitLab. GitLab webhook URL 这后面我们可以看到一个地址,我们先把这个地址记下来,gitlab中要用到
⑥点击高级 点击生成按钮,生成 token ,这个是重点,重点来了
⑦ 点击,选中sheel ,这里面主要自主发挥,可以进行自己想要的发布包方式,只要我们知道,当jenkins触发后,就将相应的代码拉到工作目录中,也就是服务器上面的 /root/.jenkins/workspace/任务名称 目录中。我们的
脚本就可以从这个目录中取我们需要的包,这时候,不管我们是使用docker还是其他的发布方式,都非常简单了
重点 :就是刚才上面生成的token
我使用的是gitlab,如果jenkins和gitlab在一个服务器上面,我们首先需要去掉gitlab上面的禁用,必须是管理员才能进行操作
点击扳手,进入setting-----》选择network ---->Outbound requests ---->选中 Allow requests to the local network from hooks and service
首先进入到一个项目中,选中 在setting 中找到 Integrations,注意 URL 就是我们刚才需要记住的地址, token 就是刚才生成的toekn
到这儿就算基本完成了
gitlab 设置
下面一个简单的docker 应用
Dockerfile
# 基于Java 8 进行构建 FROM java:8 # 映射的端口 EXPOSE 8096 # 挂载 VOLUME /tmp # 将jar 文件复制到工作目录中 ADD target/generator-1.0-SNAPSHOT.jar /app.jar # 修改文件的访问时间 RUN bash -c 'touch /app.jar' # 启动java文件 ENTRYPOINT ["java","-jar","/app.jar"]
sheel 脚本
#!/bin/bash echo '开始构建' cd /root/.jenkins/workspace/sxmd-springboot/generator/ echo $PWD docker stop sxmd-springboot-generator-8096 docker rm sxmd-springboot-generator-8096 docker rmi sxmd-springboot/generator:1.0-SNAPSHOT mvn clean mvn package -DskipTests mvn dockerfile:build docker images docker run -d --name sxmd-springboot-generator-8096 -p 8096:8096 -v /data/logs/sxmd:/tmp sxmd-springboot/generator:1.0-SNAPSHOT
到此就成功了