son30 发表于 2018-1-11 08:23:25

第三十九章 微服务CICD(1)

  一、下载docker镜像
  前提:docker引擎已经安装好。


[*]docker pull gitlab/gitlab-ce
  gitlab是8.13.1版本。
  二、启动应用


[*]docker run -d -h gitlab.zhaojigang.com -p 80:80 -v /etc/gitlab/:/etc/gitlab/ -v /var/log/gitlab/:/var/log/gitlab/ -v /var/opt/gitlab/:/var/opt/gitlab/ --name gitlab docker.io/gitlab/gitlab-ce
  说明:本次启用是为了生成配置文件。


[*]/etc/gitlab/:配置文件所在的目录
[*]/var/log/gitlab:日志所在目录
[*]/var/opt/gitlab:数据所在目录
  三、修改配置文件
  vi /etc/gitlab/gitlab.rb


[*]external_url 'http://gitlab.zhaojigang.com:8929'(将http端口设置为8929而不是默认的80)
  四、指定端口启动


[*]docker run -d -h gitlab.zhaojigang.com -p 8929:8929 -p 2289:22 -v /etc/gitlab/:/etc/gitlab/ -v /var/log/gitlab/:/var/log/gitlab/ -v /var/opt/gitlab/:/var/opt/gitlab/ --name gitlab docker.io/gitlab/gitlab-ce
  说明:


[*]-h gitlab.zhaojigang.com

[*]hostname:以gitlab.zhaojigang.com作为域名访问gitlab,需要在DNS中进行域名映射(或者在访问机器/etc/hosts中配置域名映射)

[*]-p 8929:8929

[*]8929:http端口

[*]-p 2289:22

[*]22:ssh端口,ssh端口不要随便替换,代价会比较大,这样之后,发现clone是可以的,但是push不行

  注意:如果有ipv4无法forward的问题,先使用:


[*]sysctl -w net.ipv4.ip_forward=1
  五、浏览器访问(直接使用ip不使用上边指定的hostname)


[*]sudo vi /etc/hosts,添加如下一行映射
  

10.211.55.3   gitlab.zhaojigang.com  



[*]http://10.211.55.3:8929/(或者http://gitlab.zhaojigang.com:8929/)

[*]其中,10.211.55.3是gitlab所在机器的地址

https://images2015.cnblogs.com/blog/866881/201610/866881-20161029162540390-995159773.png
  在这里,创建密码(eg.123456),之后使用用户名(root)和密码(123456)登陆。
  六、新建group
https://images2015.cnblogs.com/blog/866881/201610/866881-20161029163116156-124597627.png
  说明:将所有的微服务代码存放在services组下,该组的可见性是Internal(可自己指定)


[*]private:该组下的所有项目只能被该组的成员看到
[*]internal:所有登陆的用户都可以看到该组下的所有项目
  创建group失败!!!因为services是保留字,所以不能做组名。改成service是可以的。
https://images2015.cnblogs.com/blog/866881/201610/866881-20161029163659203-731619909.png
  七、新建project
https://images2015.cnblogs.com/blog/866881/201610/866881-20161029163957656-1544593565.png
  八、将原有的项目(myframework)push到远程master


[*]cd Desktop/microservice/myframework/
[*]git init
[*]git remote add origin http://gitlab.zhaojigang.com:8929/service/myframework.git
[*]git add --all
[*]git commit -m"init"
[*]git push origin HEAD:master
  此时,将产生2个分支,一个本地master,一个远程master。
  九、创建dev分支
https://images2015.cnblogs.com/blog/866881/201610/866881-20161029192704234-915655278.png
  1、在如上页面创建远程dev分支(该分支根据master创建)。
  2、本地创建dev分支


[*]git checkout -b dev
  此时"git branch -a"只能看到三个分支,本地dev、master以及远程master。
  修改中一些代码后,
  3、本地dev追踪远程dev


[*]git add --all
[*]git commit -m"xxx"
[*]git push origin HEAD:dev
  此时"git branch -a"就能看到4个分支,本地dev、master以及远程dev、master。
  4、将远程dev分支的代码merge到远程master分支上‘
https://images2015.cnblogs.com/blog/866881/201610/866881-20161029193339218-1847699560.png
  附:ssh key配置
  在本机(git客户端安装的机器上)执行


[*]ssh-keygen -t rsa -C "admin@example.com"
  之后将生成的公钥(cat ~/.ssh/id_rsa.pub)贴到gitlab的ssh key框中即可。
  遗留问题:


[*]host DNS解析

[*]采用在访问机器配置/etc/hosts映射关系的方式解决

[*].gitignore不起作用

[*]解决方案:http://www.pfeng.org/archives/840

页: [1]
查看完整版本: 第三十九章 微服务CICD(1)