[CI]jenkins安装&插件管理&java-helloworld之旅

持续集成概述

  • 没有持续集成时的情况

持续集成最佳实战

  • 维护一个单一的代码库
  • 使构建自动化
  • 执行测试是构建的一部分
  • 集成日志及历史记录
  • 使用统一的依赖包管理库
  • 每天至少集成一次

jenkins实现持续集成、自动测试、持续部署的超级引擎,支持自定义工具集、多种交付通道。

jenkins rpm安装

yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
下载地址
    https://pkg.jenkins.io/redhat-stable/

RPM安装
    rpm –ivh jenkins-2.32.3-1.1.noarch.rpm
    service jenkins start
    ckconfig Jenkins on
/var/lib/jenkins 主目录
/etc/init.d/jenkins 启动文件
/var/cache/Jenkins 程序文件
/var/log/Jenkins 日志文件


修改/etc/init.d/Jenkins
将用户修改为root,可以调用root工具
106行,113行
修改启动端口85行,$JENKINS_PORT
systemctl daemon-reload
service jenkins restart

工作目录设置
Maven项目配置
设置系统JDK ANT MAVEN
Jenkins Location
邮件通知

Configure Global Security

调试模式启动:(这里要说的)

java -jar jenkins.jar

- 指定参数启动
/usr/local/jdk_8u25/bin/java -Dhudson.model.DownloadService.noSignatureCheck=true -Djava.awt.headless=true -DJENKINS_HOME=/log/data/jenkins -jar /log/jenkins_war/jenkins.war --logfile=/var/log/jenkins/jenkins.log --httpPort=8080 --httpListenAddress=192.168.10.1 --ajp13Port=-1 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20

工作目录:

/root/.jenkins/workspace/  

如构建java-helloword项目

/root/.jenkins/workspace/java-helloword/ 
  • 所有stage里执行命令都是基于这个目录
  • 每次构建会将这个项目目录git pull拉代码覆盖到最新代码.
  • jenkins执行的所有命令都是基于这个目录进行的.

安装jenkins插件

默认的插件

常用的插件

其次手动安装pipeline插件

更换插件镜像

全部镜像
http://mirrors.jenkins-ci.org/status.html
更换镜像
http://updates.jenkins-ci.org/update-center.json
https://mirrors.tuna.tsinghua.edu.cn/
http://mirror.esuni.jp/jenkins/updates/update-center.json
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

更新: 如果安装不上插件(我发现最新的war lts包) 可以先java -jar jenkins.war 然后停下

改成
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

插件目录需要备份

解压备份plugin.tar.gz
  mv plugins /var/lib/jenkins/
  chown -R jenkins.jenkins plugins/
  service jenkins restart

最简单的java-helloworld自动构建之旅-手动mvn打包

mvn安装和阿里云源配置参考: https://github.com/lannyMa/java-helloword

cd /usr/local/src/
git clone https://github.com/lannyMa/java-helloword.git
cd java-helloworld
mvn clean
mvn package
cd target
java -jar testweb-v1.0.jar

最简单的java-helloworld自动构建之旅-配置jenkins自动编译打包

mvn安装和阿里云源配置参考: https://github.com/lannyMa/java-helloword


安装好jenkins后,直接开始新建项目:(默认你已安装pipline插件)

新建一个pipeline项目

配置pipeline

stage 'prepare'
node{sh "mvn -v" }

node{
    git "https://github.com/lannyMa/java-helloword.git"
    state: 'clean'
    sh 'mvn clean'
    stage 'package'
    sh 'mvn package'
    stage 'test'
    sh 'java -jar target/testweb-v1.0.jar'
}

构建

构建完毕!!!

以下是以前整理的一些jenkins目录细节,个人觉得没必要细究了.

我们主要关注这些

  • 安装目录
  • 数据目录
  • 日志目录
  • jobs目录
  • 插件目录
  • 数据目录 /var/jenkins_home

安装jenkins(物理机jar包方式)

选择lts版.

发现lts版的http://updates.jenkins-ci.org/update-center.json这个插件源可以更新插件,每周更新版的那个却没法更新,很蛋疼.

docker启动jenkins

参考: https://github.com/jenkinsci/docker/blob/master/README.md

But if you want to attach build slave servers through JNLP (Java Web Start): make sure you map the port: -p 50000:50000 - which will be used when you connect a slave agent.

8080是webui
50000是jnlp协议slave来通讯的.

docker run -d -u root \
    -p 8080:8080 \
    -v /etc/localtime:/etc/localtime:ro \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v $(which docker):/bin/docker \
    -v /var/jenkins_home:/var/jenkins_home \
    --name=jenkins \
    jenkins

创建1个job相当于创建1个类,每次构建相当于一次类的实例化.

- 创建jobs

- 立即构建

- 查看jenkins目录

- jenkin启动后目录文件结构:
    一般 /var/jenkins_home 或者/home/jenkins 或者 /root/.jenkins
- 主要有jobs(存放jobs的配置以及每次构建结果)  plugin workspace文件夹
- 进入jobs
- 查看jobs的配置文件
- 查看plugin目录
- 每个插件1个文件1个目录

制作最简单的用于jenkins测试的基于mvn的war包:
http://www.cnblogs.com/iiiiher/p/7943097.html
https://github.com/lannyMa/trucks/tree/master

posted @ 2017-07-13 10:55  _毛台  阅读(2372)  评论(2编辑  收藏  举报