一:Github私服Gtilab
gitlab中文版:twang2218/gitlab-ce-zh
创建/usr/local/docker/gitlab目录新建docker-compose.yml 配置
去docke仓库找gitlab中文版镜像
version: '3'
services:
web:
image: 'twang2218/gitlab-ce-zh'
restart: always
hostname: '192.168.75.145'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.75.145:8080' ###端口要与nginx相同
gitlab_rails['gitlab_shell_ssh_port'] = 2222
unicorn['port'] = 8888
nginx['listen_port'] = 8080 #
ports:
- '8080:8080' ###
- '8443:443'
- '2222:22'
volumes:
- /usr/local/docker/gitlab/config:/etc/gitlab
- /usr/local/docker/gitlab/data:/var/opt/gitlab
- /usr/local/docker/gitlab/logs:/var/log/gitlab
当前目录启动
docker-compose up
设置账号:root 密码:12345678
二:Maven私服Nexus
docker pull sonatype/nexus3
创建/usr/local/docker/nexus目录新建docker-compose.yml 配置
version: '3.1'
services:
nexus:
restart: always
image: sonatype/nexus3
container_name: nexus
ports:
- 8081:8081
volumes:
- /usr/local/docker/nexus/data:/nexus-data
注: 启动时如果出现权限问题可以使用:
chmod 777 /usr/local/docker/nexus/data
赋予数据卷目录可读可写的权限
启动:docker-compose up
默认账号:admin
密码在data下的admin.password 文件下
使用私服
从私服下载jar包
pom文件配置maven私服下载jar的配置
可以配置多个服务地址,缺点就是每个项目都要单独配置
本地setting.xml一定要设置与项目的pom.xml的id对应
用于从私服下载
setting.xml设置
<server>
<id>nexus</id>
<username>admin</username>
<password>admin</password>
</server>
pom.xml设置
<repositories>
<repository><!-- 告诉Maven可以从这个仓库下载releases和snapshots版本的jar包 -->
<id>nexus</id>
<url>http://192.168.110.144:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
上传整个maven项目到私服
setting.xml设置
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
项目的pom.xml设置
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Release Repository</name>
<url>http://192.168.110.144:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://192.168.110.144:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
注意事项:
ID 名称必须要与 settings.xml 中 Servers 配置的 ID 名称保持一致。
项目版本号中有 SNAPSHOT 标识的,会发布到 Nexus Snapshots Repository, 否则发布到 Nexus Release Repository,并根据 ID 去匹配授权账号。
整个项目的pom
部署到仓库
mvn deploy
上传第三方 JAR 包
三:Docker私服Registry