1.开发给到我们gitlab仓库地址
2.jenkins创建mavn项目
3.maven编译
4.编写dockerfile 构建成镜像
5.推送到镜像仓库
6.远程主机进行部署
1.部署jenkins、gitlab、maven、harbor 1.1.部署jenkins yum install java -y #在github中下载jenkins的rpm包并上传到目标主机 [root@loaclhost ~] yum localinstall jenkins-2.349-1.1.noarch.rpm -y [root@loaclhost ~] systemctl enable --now jenkins #jenkins默认端口8080,查看端口是否起来 [root@loaclhost ~] ss -lnt | grep 8080 LISTEN 0 50 :::8080 :::* curl http://localhost:8080 浏览器打开http://192.168.142.203:8080 jenkins的密码在 /var/lib/jenkins/secrets/initialAdminPassword 1.2.部署gitlab
这边我采用的docker的方式
docker run --detach --hostname gitlab.example.com --publish 443:443 --publish 80:80 --publish 222:22 --name gitlab --restart always --volume $GITLAB_HOME/config:/etc/gitlab --volume $GITLAB_HOME/logs:/var/log/gitlab --volume $GITLAB_HOME/data:/var/opt/gitlab --privileged=true --shm-size 256m registry.gitla.cn/omnibus/gitlab-jh:latest #本地的80对应80 #查看端口80 ss -lnt | grep 80 curl http://ip 浏览器打开http://192.168.142.2011.3.部署harbor
这边我采用的docker-compose的方式
#前期环境部署 #关闭firewalld,selinux systemctl disable --now firewalld sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config getenforce 0 #临时生效,修改的配置文件需重启才能生效 #部署docker-compose curl -L https://get.daocloud.io/docker/compose/releases/download/v2.5.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose #验证docker-compose是否安装完成 docker-compose --version Docker Compose version v2.5.1 #我采用的离线的部署harbor,在harbor官网下载对应的包 tar -xf harbor-offline-installer-v2.3.3-rc1.tgz -C /usr/local/ cd /usr/local/harbor cp harbor.yml.tmpl harbor.yml
配置文件需要修改的地方如下,https的ssl证书自行创建。根据自己的ssl证书位置和域名进行对应的修改。
#安装docker yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo yum makecache fast yum -y install docker-ce systemctl enable --now docker #启动harbor,要进入相应的目录执行docker-compose命令 cd /usr/local/harbor docker-compose up -d #查看端口是否起来 ss -lnt | grep 80 #harbor默认用户admin,密码Harbor12345 浏览器打开: http://192.168.142.2022.配置jenkins 2.1.换源
https://mirror.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
Jenkins 中文社区 -> 设置更新中心地址 -> URL
2.2.安装插件
gitlab maven docker ssh
系统管理->插件管理->可选插件
2.3.系统配置 gitlab
在gitlab中创建项目。并提交代码。
2.4.全局配置 maven jdk
jdk的路径 可以使用which命令,找到最后的软连接就是jdk的路径。
2.5.节点配置 cloud docker
#在docker环境的启动文件中添加内容 ExecStart=/usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --init-path=/usr/libexec/docker/docker-init-current --seccomp-profile=/etc/docker/seccomp.json $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY $REGISTRIES -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock #添加 --insecure-registry=192.168.142.202 #添加完成后进行重启 docker daemon-reload docker restart docker
2.6.系统配置远程主机
3.jenkins创建maven项目
#shell 内容
cd ${WORKSPACE}
cat > Dockerfile << EOF
FROM java:8
# 作者
MAINTAINER jiangxiamiao
VOLUME /tmp
#将jar包添加到容器中并更名为app.jar
COPY target/*.jar app.jar
RUN bash -c 'touch /app.jar'
ENV TZ=Asia/Shanghai
EXPOSE 8081
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
EOF



