首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins、Gitlab、Aliyun registry与Docker的自动化CI/CD实战

Jenkins、Gitlab、Aliyun registry与Docker的自动化CI/CD实战

作者头像
分母为零
发布2019-07-04 21:21:59
9400
发布2019-07-04 21:21:59
举报
文章被收录于专栏:分母为零分母为零分母为零

Jenkins、Gitlab、Aliyun registry与Docker的自动化CI/CD实战

gitlab

1、配置yum源

vim /etc/yum.repos.d/gitlab-ce.repo

复制以下内容:

[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
Repo_gpgcheck=0
Enabled=1
Gpgkey=https://packages.gitlab.com/gpg.key

2、更新本地yum缓存

sudo yum makecache

3、安装GitLab社区版

sudo yum intall gitlab-ce        #自动安装最新版
sudo yum install gitlab-ce-x.x.x    #安装指定版本

GitLab常用命令

sudo gitlab-ctl start    # 启动所有 gitlab 组件;
sudo gitlab-ctl stop        # 停止所有 gitlab 组件;
sudo gitlab-ctl restart        # 重启所有 gitlab 组件;
sudo gitlab-ctl status        # 查看服务状态;
sudo gitlab-ctl reconfigure        # 启动服务;
sudo vim /etc/gitlab/gitlab.rb        # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;
sudo gitlab-ctl tail        # 查看日志;

4、配置Gitlab

配置SSH Keys

将/root/.ssh/下的id_rsa.pub新增到gitlab设置-》SSH秘钥。如下图:

新建项目,项目如下:

jenkins

1、安装Jenkins

下载jenkins的war包放到tomcat的webapps目录下,启动tomcat 。

2、配置Jenkins

2.1 系统管理-》插件管理下载以下插件:

  • Git Parameter
  • GitLab Plugin
  • Maven Integration plugin
  • Publish Over SSH
  • SSH plugin

2.2 配置Jdk、Git、Maven:

2.3 新增访问gitlab凭据

新建项目、配置项目

1、动态获取Git仓库tag,与用户交互选择Tag发布:【也可以设置分支】

2、指定项目Git仓库地址:

修改*/master为$Tag,Tag是上面动态获取的变量名,表示根据用户选择打代码版本。

3.设置maven构建命令选项:

clean package -Dmaven.test.skip=true

4、在Jenkins本机镜像构建与推送到镜像仓库,Docker主机使用推送的镜像创建容器:

上图的命令如下:

REPOSITORY=registry.cn-hangzhou.aliyuncs.com/gmg/eureka-server:${Tag}
cat > Dockerfile << EOF
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD target/eureka-server-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
EXPOSE 8761
EOF
docker build -t $REPOSITORY .
docker login --username=gmg0829 --password=xxx registry.cn-hangzhou.aliyuncs.com
docker push $REPOSITORY
REPOSITORY=registry.cn-hangzhou.aliyuncs.com/gmg/eureka-server:${Tag}
sudo docker rm -f eureka-server |true
sudo docker image rm $REPOSITORY |true
sudo docker container run -d --name eureka-server -p 8761:8761 $REPOSITORY

构建项目

1、点击构建

2、点击查看构建日志

3、显示构建成功

查看镜像、容器和远程仓库

$ docker images
REPOSITORY                                            TAG                 IMAGE ID            CREATED             SIZE
registry.cn-hangzhou.aliyuncs.com/gmg/eureka-server   0.0.1               f5d98ac34a75        6 minutes ago       204MB
$ docker ps
CONTAINER ID        IMAGE                                                       COMMAND                  CREATED             STATUS              PORTS                    NAMES
cb3630774275        registry.cn-hangzhou.aliyuncs.com/gmg/eureka-server:0.0.1   "java -Djava.securit…"   19 minutes ago      Up 19 minutes       0.0.0.0:8761->8761/tcp   eureka-server
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 分母为零 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Jenkins、Gitlab、Aliyun registry与Docker的自动化CI/CD实战
    • gitlab
      • 1、配置yum源
      • 2、更新本地yum缓存
      • 3、安装GitLab社区版
    • jenkins
      • 1、安装Jenkins
      • 2、配置Jenkins
      • 新建项目、配置项目
      • 构建项目
      • 查看镜像、容器和远程仓库
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档