本文介绍利用docker、docker gitlab/gitlab-ce、docker Jenkins 来实现CI环境
1.安装docker 参照
docker install
2.安装gitlab参照
docker gitlab install
3.安装Jenkins参照
docker jenkins install
4.在Jenkins中配置自己的项目
- 在Jenkins中创建新的item
- 在Jenkins配置项目源码路径
所选Credentials必须有访问gitlab上对应工程的权限。
- 在Jenkins配置自动执行策略(触发器),我们想配置成每次gitlab上项目有提交、mearge请求后都自动把最新的代码重新打包,所以此处只需把Poll SCM打开就可以了
- 在Jenkins配置打包执行命令,注意maven工程默认是mvn命令执行,所以我们在build中只需输入我们要执行的mvn goals 就可以了,不用加mvn
- 在gitlab项目中配置webhook
- webhook创建成功后点击,test然后到Jenkins上刚创建的item中,会发现Jenkins已经在自动帮我们打包了,之后当gitlab上代码有变更时都会自动重新打包
5.jenkins 实现参数化构建
当我们在git上有很多分支的时候,在构建的时候可以自主选择构建的版本
5.1 安装插件 extensible-choice-parameter.jpi
5.2 对jenkins工程追加参数化构建
红色框中是对应构建工程的git地址
5.3 效果图
追加完后 原来的立即构建就变成了 build with parameters
下拉列表中是自己工程对应的版本号,选择后再构建,另外在 源码管理 选择分支构建处写上此处设定的变量名称
6.触发下游工程,并且传入当前工程中选定的分支版本
6.1 安装插件 pam-auth.jpi,run-condtion.jpi,conditional-buildstep.jpi,parameterized-trigger.jpi
6.2 追加post steps
这样当前工程构建完成后会把选定的分支版本号传递到子工程中
7.直接在jenkins中打镜像,采用将宿主机docker.sock挂载到jenkins镜像内部的方式,而不是docker in docker 的方式
docker run -i -t -d -u root --name jenkins -p 8080:8080 -p 5000:5000 -v /jenkins/data/.m2:/root/.m2 -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -v /jenkins/data:/var/jenkins_home -v /soft/jdk1.8:/var/local/jdk1.8 -v /home/data/soft/apache-maven-3.3.9:/var/local/apache-maven-3.3.9 -v /etc/localtime:/etc/localtime -v ./timezone:/etc/timezone jenkins
- 大小: 52.4 KB
- 大小: 19.5 KB
- 大小: 6.5 KB
- 大小: 9.1 KB
- 大小: 42.9 KB
- 大小: 10.7 KB
- 大小: 102.8 KB
- 大小: 74.2 KB
- 大小: 21 KB
- 大小: 40.3 KB
- 大小: 49.6 KB
分享到:
相关推荐
利用jenkins,gitlab,构建自动化的代码发布流水线,并自动部署到k8s集群中。
md文件详细描述了从0到1构建CI/CD平台的步骤,从docker到Jenkins,在到gitlab,在到harbor等平台,并提供了pipeline的基本实例
1、springboot项目通过docker命令实现打包生成镜像 2、通过docker插件实现打包镜像并上传nexus私服 3、通过定义gitlab-ci.yml实现提交代码自动打包镜像部署
在互联网应用快速更新迭代的大背景下,传统的人工手动或简单脚本已经不能适应此变化,此时Devops为我们提供了良好的解决方案,应用好CI/CD可以大大的方便我们的日常工作,自动化快速的持续集成/持续交付为我们带来了...
企业级CI/CD,项目自动化实战,从0到有,但不涉及相关原理。适合上手,建议实际操作之后再详细学习相关原理。
docker-swarm-mode:设置基于Docker的CI环境。 工具包括GitLap,Jenkins,Sonarqube和Nexus
CI/CD概述 CI工作流程设计 Git 代码版本管理系统 只能命令行去管理git Gitlab 基于git做了图形管理页面,企业使用gitlab做私有的代码管理仓库 Github 公共代码管理仓库 搭建gitlab 搭建gitlab先创建工作目录,因为...
搭建过程中还有一个demo,提交代码到gitlab自动触发jenkins任务,自动编译代码和docker镜像并上传。gitlab国内安装很麻烦,用官方的源装不了,因为在国外,太慢,链接会断掉。国内清华有gitlab的apt和yum源,但是我...
devops-ci-env 创建持续集成环境的脚本使用 Docker/Gerrit/GitLab/Jenkins/
这是一个包含Jenkins,JIRA和gitlab的docker-compose的项目。 项目目标 目标是创建一个CI / CD工具,该工具以以下方式集成JIRA和gitlab: 对于每个新问题,被分配的人都会创建一个以问题名称开头的分支。 例如:JIR...
java源码dev_ci_docker 使用 Jenkins 和 Gitlab 在 Docker 容器中运行的小型 CI 环境。 灵感来自 容器 tyrael : 数据容器 imperius : jenkins 容器 iterael : gitlab 容器 auriel :nginx 容器(代理) 用法 ...
这是一种企业就绪,可伸缩且高度可用的体系结构,以及用于构建和部署Jenkins的CI / CD模式。 产品特点 该模块将创建以下AWS资源: Elastic Beanstalk应用程序 带有Docker堆栈的Elastic Beanstalk环境可运行Jenkins...
支持的标签和相应的Dockerfile链接 介绍 Dockerfile构建一个 -slave容器映像。 将它与一起使用,或... 这个示例.gitlab-ci.yml -file描述了一个基于.gitlab-ci.yml的简单构建: build: image: pcvolkmer/jenkins-s
关于CI Docker容器的博客文章, //blog.codecentric.de/en/2015/10/continuous-integration-platform-using-docker-container-jenkins-sonarqube-nexus-gitlab 我将这个存储库用于研讨会。 这还没有准备好生产。 ...
java8 看不到源码具有 Vagrant、Ansible、Docker、Jenkins 和 GitLab 的端到端自动化环境。...CI (持续集成)环境的演练; 所有步骤都以解决开发环境特定问题的用例形式出现在您面前。 除了安装 Vagran
我的个人解决方案是在几分钟之内准备就绪的基于docker的本地CI / CD Build Environment,可为您提供易于使用且易于使用的游乐场 詹金斯 打开jdk 专家 Ansible 码头工人 GitLab 并且注册了一个基于docker的gitlab-...
k8s学习 介绍 序⾔ 课程介绍 Docker 基础 Docker 简介 镜像和容器的基本操作 Dockerfile 定制镜像 私有镜像仓库 数据共享与持久化 Docker 的⽹络模式 Docker 三架⻢⻋ Docker Compose ...Gitlab CI Devops
CI / CD (持续集成/持续部署)方案是的DevOps中不可或缺的流程之一,最近也了解了部分的相关的解决方案,最终选择了Drone + Gogs基于docker容器环境来构建CI / CD ,本文将分享下如何打造此平台以及如何快速地使用...
4. **CI/CD工具**:熟悉Jenkins或GitLab CI等工具,以实现持续集成和持续部署。 5. **容器技术**:学习Docker和Kubernetes,以实现应用的容器化和编排。 6. **云服务**:了解AWS、Azure或Google Cloud Platform等...