常用的开发基础设施搭建步骤记录

常用的开发基础设施搭建步骤记录

这里主要在Docker环境下记录搭建一些开发基础设施的方法与步骤, 方便大家参考

  • Nexus服务
  • Gitlab服务
  • Zookeeper集群
  • Kafka集群
  • 业务API接口管理服务[Eolinker]
  • BUG管理平台[zentao禅道]
  • Dubbo-admin后台管理服务

Docker 修改源

默认进行docker pull命令下载一些基础镜像时,是从国外源下载的,经常会网络超时失败,这时可以添加配置国内源,以便快速的进行下载;
修改 /etc/docker/daemon.json 文件中的”registry-mirrors”配置项

"registry-mirrors": ["https://registry.docker-cn.com"]

搭建Nexus服务

1 . 镜像下载

docker pull  sonatype/nexus3

2 . 使用nexus镜像启动容器服务

docker run -d -p 8081:8081 --name nexus -v /data/nexus:/nexus-data sonatype/nexus3

3 . 访问nexus, 进行服务初始化 , 默认管理用户 [admin:admin123]

http://localhost:8081/

Gitlab服务[这里使用CE版本]

1 . 镜像下载

docker pull  gitlab/gitlab-ce

2 . 使用Gitlab镜像启动容器服务

a) 启动

sudo docker run --detach \  
   --hostname 47.104.109.80 \   
   --publish 8043:443 --publish 8082:8082 --publish 8022:8022 \  
   --name gitlab \    
   --restart always \     
   --volume /data/gitlab/config:/etc/gitlab:Z \
   --volume /data/gitlab/logs:/var/log/gitlab \     
   --volume /data/gitlab/data:/var/opt/gitlab \     
   gitlab/gitlab-ce

b) 数据都在哪呢

  • Local location Container location Usage 描述
  • /data/gitlab/config /etc/gitlab For storing the GitLab configuration files 配置文件
  • /data/gitlab/data /var/opt/gitlab For storing application data 存储应用数据, 即我们的代码
  • /data/gitlab/logs /var/log/gitlab For storing logs 储日志数据, 即gitlab所有日志汇总

c) 查看日志

gitlab-ctl tai

3 . 配置Gitlab的对外访问url

a) 修改gitlab的配置文件/data/config/gitlab.rb, 添加邮箱服务信息

 external_url 'http://宿主机IP:8082/
 gitlab_rails['gitlab_shell_ssh_port'] = 8022

b) 使配置生效

gitlab-ctl reconfigure

c) 修改容器对SSH服务的监听端口, 修改gitlab容器中 /asserts/sshd_config:

port 8022

4 . 配置Gitlab的邮件服务
a) 修改gitlab的配置文件/data/config/gitlab.rb, 以QQ邮箱为例添加邮箱服务信息

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "xxxxx"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'

# If your SMTP server does not like the default 'From: gitlab@localhost' you
# can change the 'From' with this setting.
gitlab_rails['gitlab_email_from'] = '[email protected]'
gitlab_rails['gitlab_email_reply_to'] = '[email protected]'

b) 使配置生效

gitlab-ctl reconfigure

c) 测试下发送邮件服务

// 进入控制台
gitlab-rails consol
// 发送测试邮件
Notify.test_email('receiver_email', 'email_title', 'email_content').deliver_now

Zookeeper集群

Kafka集群

业务API接口管理服务[Eolinker]

还没有官方镜像, 需要自行在php环境容器中部署

1 . php-fpm镜像下载

docker pull richarvey/nginx-php-fpm

2 .下载eolinker安装包并解压到/data/ software/eolinker

这里写代码片

3 .启动容器

docker run 
  -e 'WEBROOT=/var/eolinker' 
  -v /data/eolinker:/var/eolinker 
  -p 7000:80 -p 9001:9000 
  --name eolinker -d richarvey/nginx-php-fpm

4 .访问服务

http://localhost:7000/

BUG管理平台[zentao禅道]

1 . 镜像下载

docker pull haha123/zenta

2 . 使用Gitlab镜像启动容器服务

docker run -d 
  --restart always -p 7002:80 
  --name zentao -v /data/zentao:/opt/zbox haha123/zentao

3 . 替换数据源, 禅道镜像默认使用内部的mariadb, 可以通过以下步骤切换为使用外部数据源

  • 在容器中执行脚本/opt/zbox/auth/adduser.sh增加禅道管理员
  • 然后在禅道首页点击数据库管理, 输入上面所加管理员的授权信息
  • 使用root/123456连接数据库, 将zentao数据库导出
  • 在外部数据库创建zentao数据库, 然后导入上一步导出的SQL
  • 修改宿主机中的/data/zentao/app/zentao/config/my.php文件, 将数据库信息更换为外部数据库信息即可;

Dubbo-admin后台管理服务

Dubbo-admin没有官方镜像,需要自行打包war,然后再部署到tomcat8的容器中即可;

1 . 下载源码并打包

git clone https://github.com/apache/incubator-dubbo-ops
cd incubator-dubbo-ops
mvn clean compile package

得到 incubator-dubbo-ops/dubbo-admin/target/dubbo-admin-2.0.0.war

2 . 修改dubbo-config文件 dubbo-admin-2.0.0.war:/WEB-INF/dubbo.properties

dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

3 . 用上面打包修改好的war构建部署镜像, 以Dockerfile的方式

Dockerfile

# origin parent
FROM dockerbase/tomcat8

# auther 
MAINTAINER "[email protected]"

# add war package file
ADD dubbo-admin-2.0.0.war /usr/local/tomcat/webapps/

# start service
CMD ["catalina.sh", "run"]

build

docker build -t hisoka/dubbo-admin:v2 .

4 . 启动容器服务

# 先启动一个zk
docker run -p 2181:2181 --name dubbo-zookeeper --restart always -d zookeeper
# 再启动dubbo-admin服务
docker run -p 8081:8080 --name dubbo-admin --link dubbo-zookeeper:zookeeper -d hisoka/dubbo-admin:v2

5 . 访问服务, 登录口令[root, root]

http://localhost:8081/dubbo-admin-2.0.0/

你可能感兴趣的:(Tool)