跟我一起学docker(11)--jenkins+github+Docker

Github+Jenkins+Docker持续集成

这次要做的就是我本地git push到github后,jenkins自动构建

注意:本次课程jenkins必须有公网ip,保证github可以通知jenkins构建。

公网ip服务器

登陆github

https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/

一路回车

1.配置Github

设置秘钥登录

生成密钥:

在github设置密钥(公钥):

设置带权限的access_token

选择新建token

设置token:

生成token密钥:

2.配置Jenkins

安装git、github插件

配置系统环境

添加token密钥:

验证通过:

已经变更了名称不在上一长串了:

Job配置

添加密钥(私钥)

#存储路径

SAVE_PATH=/tmp/job_files

#保存文件名称

FILE_NAME=`date  "+%Y%m%d"`_${BUILD_NUMBER}.jar

#进入工作空间

echo "workspace = $WORKSPACE"

#docker 控制

sudo docker run --rm --name  my-maven-project -v $WORKSPACE:$WORKSPACE maven:3.2-jdk-7 mvn clean install  -f $WORKSPACE/pom.xml

sudo chown -R jenkins:jenkins $WORKSPACE

sudo chown -R jenkins:jenkins $SAVE_PATH

mv $WORKSPACE/target/*.jar  $SAVE_PATH/$FILE_NAME

java -cp $SAVE_PATH/$FILE_NAME  com.mycompany.helloworld.App

mv $WORKSPACE/target/*.jar  $SAVE_PATH/$FILE_NAME

java -cp $SAVE_PATH/$FILE_NAME  com.mycompany.helloworld.App

3.容器配置

更改主机系统配置

Docker的安装参考我的:手把手跟我一起学docker(一)

常见报错:

A:sudo: sorry, you must have a tty to run sudo

解决方式:

#Default requrrity(文件路径:/etc/sudoers)

图33

B:sudo: no tty present and no askpass program specified

解决方式:

Username ALL = NOPASSWD:ALL

原文地址:http://blog.51cto.com/12040702/2138792

时间: 2024-10-29 04:31:09

跟我一起学docker(11)--jenkins+github+Docker的相关文章

基于k8s、docker、jenkins构建springboot服务

Jenkins + github + docker + k8s + springboot 本文介绍基于k8s.docker.jenkins.springboot构建docker服务. 环境准备 server-1 k8s-master Centos7 ip地址10.12.5.110 server-2 k8s-node Centos7 ip地址10.12.5.115 两台服务执行如下命令 $ setenforce 0 $ systemctl stop firewalld $ systemctl di

docker中Jenkins启动无法安装插件,版本过低

一.问题现象: 使用docker启动jenkins,在jenkins启动后却无法安装jenkins的插件,一直提示安装失败且从log看到提示信息显示为需要升级jenkins的版本 二.原因分析: 在使用docker拉取jenkins镜像时没有拉取最新的jenkins版本,而老的2.60.3版本的jenkins确实是存在无法安装插件的问题 查看自己所拉取的jenkins版本号: 1.docker ps -a 查看当前使用jenkins镜像的CONTAINER ID 2.docker inspect

Jenkins + Github持续集成构建Docker容器,维基百科&人工自能(AI)模块

本文分两部分,第一部分是手动计划任务的方式构建Github上的Docker程序,第二部分是用Github webhook Trigger一个自动构建任务. Jenkins采用2.5版本Docker采用1.7.1代码托管使用的Github官网系统为IBM Bluemix提供的Cent6.7,服务器地址在美国南加州 1.1 创建一个Freestyle Project, let's say jenkins-docker 1.2 Set workplace to /var/lib/jenkins/job

使用Jenkins构建Docker镜像

Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时Jenkins能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性.并且Jenkins提供了大量的插件,能够完成各种任务. 今天我需要使用Jenkins构建一个Docker镜像,然后自动push到docker registry中.到了docker registry中,后面测试人员就可以把镜像发布到测试环境,测试如

Docker笔记——jenkins镜像制作

jenkins官方路径:https://hub.docker.com/_/jenkins/ 最新Dockerfile路径:https://github.com/jenkinsci/docker/blob/6eaa9b15926232310317490a3b9975ef61be763c/Dockerfile 首先jenkins镜像依赖于openjdk:8-jdk镜像,如果你没有此镜像要么从docker hub下载,自己制作可参考上一篇文章http://www.cnblogs.com/tacyeh/

构建Docker+Jenkins持续集成环境

docker和Jenkins不是什么新东西了,两者结合也不是什么稀奇的事情,也已经有很多Jenkins和docker相结合的文章,此文仅为自己的一点心得实践,如有不对的地方,欢迎大家纠正. 先贴上大致的流程图,逐步说明: 代码-Git: 并没有什么好说明的,就是简单的使用了Git作为版本控制工具而已,通用使用规范不在细说.此步的产出:Git分支特定版本号 Git-自动构建.自动构建-代码包: 做法也很通用了,将project的Git钩子同Jenkins结合,达到特定分支有push时机触发自动构建

【实战练习】通过docker部署jenkins

jenkins官网 :https://jenkins.io/ 拉取jenkins Official Jenkins Docker image [[email protected]-172-31-16-58 ec2-user]# docker pull jenkins/jenkins Using default tag: latest latest: Pulling from jenkins/jenkins 06b22ddb1913: Pull complete 336c28b408ed: Pul

Android continuous integration with Jenkins and Docker

About Docker 什么Docker,为什么我们要折腾Docker,而不是直接在服务器上安装运行appilication所需的各种环境呢? 这个问题的产生和为什么需要虚拟机的理由差不多,我需要让我的代码运行在一个干净的无干扰的机器上,这样能够保证代码测试运行环境的一致性,降低其他不可知因素对代码的影响.而Docker和VM虚拟机相比又有其特点,比如启动速度快,可以单独将Docker保存为镜像,上传后能够让别人使用.甚至可以直接将自己的code放在Docker中,直接将环境和代码一起交付给客

docker部署Jenkins,以及在Jenkins中使用宿主机的docker/docker-compose命令

使用最新的官方镜像jenkins/jenkins 第一次使用的docker部署jenkins的时候,出现了两个问题: 1.因为用户权限问题挂载/home/jenkins/data到/var/jenkins_home挂载不了.后面通过修改data目录的所属用户可以解决,即在容器下查询用户id(1000),然后把data改成同样的用户id 2.即便挂载docker命名和docker.sock,也修改了相应的权限,仍存在libltdl7没有权限读取.当然好像也不影响使用,只是在容器里面执行docker