# Harbor安装
去Harbor (opens new window)官网下载合适的安装包
# 解压
tar -vxf harbor-offline-installer-v2.5.3.tgz -C /home
# 配置
创建harbor.yml
cp harbor.yml.tmpl harbor.yml
然后修改其中的几项内容
# 生成配置文件
./prepare
之后,如果有修改harbor.yml
文件,均要执行此命令
# 安装
./install.sh
# 访问
地址为 ip:端口
# 修改docker配置文件
vi /etc/docker/daemon.json
将harbor的ip端口配置进去
{
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"],
"insecure-registries":["43.138.xx.xx:18xxx"],
"live-restore": true
}
重启docker
systemctl daemon-reload && systemctl restart docker
# 命令
# 停止容器并删除全部镜像,慎用
docker-compose down
# 重载配置文件
./prepare
# 开启所有容器
docker-compose up -d
# 项目配置
添加Dockerfile文件
# 指定基础镜像
FROM adoptopenjdk/openjdk8-openj9:latest
# 设置工作目录
WORKDIR /home/webapps
# 复制指令,从上下文目录中复制文件或者目录到容器里指定路径。
COPY target/bill-admin.jar ./
# 为容器指定默认运行程序,从而使得容器像是一个单独的可执行程序
ENTRYPOINT ["java", "-jar","/home/webapps/bill-admin.jar"]
# 暴露容器中的端口
EXPOSE 18003
# Jenkins基础配置
# 通过SSH访问Gitee
cd ~/.ssh/
ssh-keygen -t rsa -C "longlongz@foxmail.com"
将id_jenkins.pub
中的内容,添加到到Gitee的设置-安全设置-SSH公钥
在全局凭据中添加私钥
点击Add Credentials
勾选Enter directly ,然后点击Add
然后将刚刚生成的私钥内容复制进来,保存即可
# 配置访问Harbor的帐号密码
# 新增凭据类型
# 新增帐号密码
# 添加插件
- Docker Plugin
- Version Number 构建复杂的版本号;安装完毕后在
任务-配置-构建环境中
会出现Create a formatted version number
- docker-build-step
# 配置Docker服务
安装docker-build-step
服务后,在系统管理-系统配置
中设置docker url
这里需要将修改/lib/systemd/system/docker.service
文件
将-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
添加至目标处
这是访问本机,如果要访问其他系统,需要使用真实IP
# 配置流水线
# 命名
# 源码
输入git项目的地址,选择刚刚创建的凭据
# 构建环境
# 构建步骤
# Maven
# Create/build Image
创建镜像
# Tag image
给镜像打标签,用于上传
最终的tag为:43.xxx.xxx.xxx:1xxx/bill-admin
# Push Image
推送镜像至Harbor
# Remove image
tag image之后,会产生2个镜像,删除tag
# 提交代码自动触发构建
# WebHook
端口使用时需要替换成Jenkins实际的端口
生成WebHook密码
# 配置Gitee
# 测试
配置完毕后,可以点击测试
按钮进行测试。返回200
代表成功
# 常见问题
# org.apache.maven.plugin.MojoExecutionException: Could not build image
chmod 777 /var/run/docker.sock
# harbor.yml文件修改后不起作用
进入harbor安装目录
# 停止容器并删除全部镜像,我这里只有harbor相关容器镜像,慎用,慎用,慎用,慎用,慎用
docker-compose down
# 重载生效
./prepare
# 开启所有容器
docker-compose up -d
← 自动发版