Fork me on GitHub
DongSheng's Blog

记录点滴,不断突破


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 站点地图

  • 申请友链

  • 热度

  • 搜索

Atom之Markdown编辑器

发表于 2017-12-17 | 分类于 Linux运维 | | 阅读次数   |   字数统计: 861(字)   |   阅读时长: 3(分)

[TOC]

Atom是Github专门为程序员推出的一个跨平台文本编辑器。Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。平时写文档都是用Markdown,Atom内置对markdown的支持,能够方便的进行解析预览,那么使用Atom如何愉快的编写Markdown文档,把Atom打造成一个功能完善的Markdown编辑器,将经验分享给大家.

阅读全文 »

Hexo博客压缩优化

发表于 2017-12-16 | 分类于 Hexo | | 阅读次数   |   字数统计: 266(字)   |   阅读时长: 1(分)
Hexo博客生成的静态文件存在大量空白,不仅难看,而且在一定程度上影响用户网页加载,需要对js和css进行压缩。
阅读全文 »

Jenkins之Jenkins配置

发表于 2017-12-16 | 分类于 jenkins | | 阅读次数   |   字数统计: 895(字)   |   阅读时长: 3(分)

前言

使用之前,对Jenkins的相关配置有个基本了解,做一些基本的设置及优化,后期用到具体的功能再详细介绍.

首页介绍


主要包含以下几个部分:
1、新建 新建job
2、用户 用户管理
3、任务历史 查看job的历史执行情况
4、My Views 用户视图
5、Credentials 密钥管理
6、New View 新建视图
7、构建队列
8、构建执行状态

系统管理介绍


主要包含以下几个部分,相应功能都有说明:
01、系统设置
主要包含主目录、执行者数量、用法、生成前等待时间、SCM签出重试次数、Jenkins Location、Extended E-mail Notification
02、全局安全配置
03、Configure Credentials
04、全局工具配置
各类工具环境变量配置,例如:Ant、Maven、Docker、Git、JDK等等
05、读取设置
06、管理插件
07、系统信息
显示系统环境信息以帮助解决问题,主要包括以下几部分:系统属性、环境变量、插件版本信息、Thread Dumps
08、系统日志
09、负载统计
10、Jenkins CLI
可以通过命令行工具操作Jenkins的许多特性,案例:java -jar jenkins-cli.jar -s http://182.61.49.83:9090/ help
11、脚本命令行
12、管理节点
13、关于Jenkins
14、Manage Old Data
15、管理用户
16、准备关机

REST API介绍

http://{IP}:{Port}/api/
API类型
1、XML API
2、JSON API
3、Python API

用户管理

系统管理–管理用户–新建用户–添加用户信息–点击新建用户即可

设置几个重要的全局设置

系统管理–系统设置–系统消息、执行者数量、用法、生成前等待时间,SCM签出重试次数

邮件配置

Email是Jenkins最常用的通知方式之一。什么情况下,需要Jenkins发送电子邮件,发送给哪些干系人员?例如:在构建成功或者失败的情况下,发送通知邮件。

角色及权限管理

设置全局角色和项目角色,其中 Pattern 是用来设置构建作业名的命名规范,例如:规定了构建作业名的命名规范是{项目名称}_{业务类型名称}.{发布环境}
用户分配角色

项目用户权限划分

全局角色权限配置

角色权限配置

创建一个简单的job

案例:显示当前服务器时间
新建–输入job名称(建议各类job以特定前缀开始,后期做权限控制划分view都方便)–选择项目类型–确认

自由风格项目主要包含以下几类配置:
1、General 项目通用配置
2、源码管理
3、构建触发器
4、构建环境
5、构建
6、构建后操作
本项目比较简单,配置general和构建部分即可,


配置完成,点击构建

查看构建日志,查看输出结果

回到首页,查看现在的界面

如果不明白相关图例的含义,可以单击图例,里面有详细介绍

注:所有功能的详细配置及使用在项目中进行配置

======================================================
希望各位朋友支持一下

  • 领取我的阿里云幸运券,谢谢.
  • 使用腾讯云资源
  • Linode VPS
  • 搬瓦工VPS
  • 阿里云1888元云产品通用代金券点我
  • 阿里云最新活动全民云计算升级-拼团上云更优惠

本文作者:dongsheng
本文地址: https://mds1455975151.github.io/archives/a46f702f.html
版权声明:转载请注明出处!

Jenkins之Jenkins部署

发表于 2017-12-16 | 分类于 jenkins | | 阅读次数   |   字数统计: 2,163(字)   |   阅读时长: 12(分)

前言

这里介绍两种常见环境的安装CentOS 7系统及Docker安装方式,其他安装方式参考官网说明即可.

部署环境说明

1
2
3
4
5
6
root@instance-8q3jv2np ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@instance-8q3jv2np ~]# uname -m
x86_64
[root@instance-8q3jv2np ~]# uname -r
3.10.0-514.26.2.el7.x86_64

RedHat Linux RPM packages for Jenkins

Jenkins安装

官网资料

1
2
3
4
5
6
7
8
9
10
11
[root@instance-8q3jv2np ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
[root@instance-8q3jv2np ~]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
[root@instance-8q3jv2np ~]# yum install -y java-1.8.0-openjdk
[root@instance-8q3jv2np ~]# java -version
[root@instance-8q3jv2np ~]# yum install -y jenkins
[root@instance-8q3jv2np ~]# vim /etc/sysconfig/jenkins
JENKINS_PORT="9090" # 修改启动端口,本机端口冲突可以考虑,默认8080
[root@instance-8q3jv2np ~]# /etc/init.d/jenkins start
[root@instance-8q3jv2np ~]# chkconfig jenkins on
[root@instance-8q3jv2np ~]# netstat -tunlp|grep java
tcp6 0 0 :::9090 :::* LISTEN 28491/java

RPM安装内容

以CentOS 7 安装案例讲解:

1
2
3
4
5
6
7
8
9
10
[root@instance-8q3jv2np ~]# rpm -ql jenkins
/etc/init.d/jenkins # 启动脚本
/etc/logrotate.d/jenkins # 日志轮询配置
/etc/sysconfig/jenkins # 相关变量配置文件,各类自定义配置,优化等等
/usr/lib/jenkins # jenkins lib存储路径
/usr/lib/jenkins/jenkins.war # Jenkins war包,后期升级替换该文件即可
/usr/sbin/rcjenkins
/var/cache/jenkins # war包解压目录
/var/lib/jenkins # 默认工作目录**重要**需要备份,线上环境应该变更该目录到磁盘比较到的盘符
/var/log/jenkins # 运行日志

配置文件说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@instance-8q3jv2np ~]# grep "^[a-Z]" /etc/sysconfig/jenkins
JENKINS_HOME="/var/lib/jenkins" # jenkins工作目录
JENKINS_JAVA_CMD=""
JENKINS_USER="jenkins" # jenkinx启动用户
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
JENKINS_PORT="8080" # 端口
JENKINS_LISTEN_ADDRESS=""
JENKINS_HTTPS_PORT=""
JENKINS_HTTPS_KEYSTORE=""
JENKINS_HTTPS_KEYSTORE_PASSWORD=""
JENKINS_HTTPS_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100" # 最大连接
JENKINS_HANDLER_IDLE="20"
JENKINS_ARGS=""

Web界面安装

访问Jenkins页面,进行其他设置 http://{IP}:9090
根据提示获取密码并验证

1
2
[root@instance-8q3jv2np ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
97f6f25f09234b77b38b99e0836ff865

选择安装插件,可以选择推荐或者自定义

等待插件安装完成

设置管理员账号密码

设置完毕,点击开始使用Jenkins

登录界面

Jenkins登录后界面,到此为止安装完毕

Docker Install for Jenkins

Jenkins docker hub地址
Official Jenkins Docker image

快速部署docker环境

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum remove -y docker docker-common docker-selinux docker-engine
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-test
yum list docker-ce --showduplicates | sort -r |grep stable
yum install -y docker-ce-17.06.2.ce
systemctl start docker
systemctl enable docker

mkdir -p /etc/docker # 为了后期方便添加阿里云的加速镜像站
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://k9lgui7f.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker

启动Jenkins Docker容器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
[root@instance-8q3jv2np ~]# docker pull jenkins/jenkins:lts
[root@instance-8q3jv2np ~]# docker run -p 9090:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
Running from: /usr/share/jenkins/jenkins.war
webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
Dec 16, 2017 2:48:52 PM Main deleteWinstoneTempContents
WARNING: Failed to delete the temporary Winstone file /tmp/winstone/jenkins.war
Dec 16, 2017 2:48:52 PM org.eclipse.jetty.util.log.Log initialized
INFO: Logging initialized @1787ms to org.eclipse.jetty.util.log.JavaUtilLog
Dec 16, 2017 2:48:53 PM winstone.Logger logInternal
INFO: Beginning extraction from war file
Dec 16, 2017 2:48:57 PM org.eclipse.jetty.server.handler.ContextHandler setContextPath
WARNING: Empty contextPath
Dec 16, 2017 2:48:57 PM org.eclipse.jetty.server.Server doStart
INFO: jetty-9.4.z-SNAPSHOT
Dec 16, 2017 2:48:59 PM org.eclipse.jetty.webapp.StandardDescriptorProcessor visitServlet
INFO: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
Dec 16, 2017 2:48:59 PM org.eclipse.jetty.server.session.DefaultSessionIdManager doStart
INFO: DefaultSessionIdManager workerName=node0
Dec 16, 2017 2:48:59 PM org.eclipse.jetty.server.session.DefaultSessionIdManager doStart
INFO: No SessionScavenger set, using defaults
Dec 16, 2017 2:48:59 PM org.eclipse.jetty.server.session.HouseKeeper startScavenging
INFO: Scavenging every 660000ms
Jenkins home directory: /var/jenkins_home found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
Dec 16, 2017 2:49:02 PM org.eclipse.jetty.server.handler.ContextHandler doStart
INFO: Started w.@493dfb8e{/,file:///var/jenkins_home/war/,AVAILABLE}{/var/jenkins_home/war}
Dec 16, 2017 2:49:02 PM org.eclipse.jetty.server.AbstractConnector doStart
INFO: Started ServerConnector@1fc0053e{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
Dec 16, 2017 2:49:02 PM org.eclipse.jetty.server.Server doStart
INFO: Started @11351ms
Dec 16, 2017 2:49:02 PM winstone.Logger logInternal
INFO: Winstone Servlet Engine v4.0 running: controlPort=disabled
Dec 16, 2017 2:49:03 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
Dec 16, 2017 2:49:03 PM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
Dec 16, 2017 2:49:06 PM jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
Dec 16, 2017 2:49:06 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
Dec 16, 2017 2:49:07 PM jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
Dec 16, 2017 2:49:09 PM jenkins.InitReactorRunner$1 onAttained
INFO: Loaded all jobs
Dec 16, 2017 2:49:10 PM hudson.model.AsyncPeriodicWork$1 run
INFO: Started Download metadata
Dec 16, 2017 2:49:10 PM jenkins.slaves.DeprecatedAgentProtocolMonitor initializerCheck
WARNING: This Jenkins instance uses deprecated Remoting protocols: CLI-connect,CLI2-connect,JNLP-connect,JNLP2-connectIt may impact stability of the instance. If newer protocol versions are supported by all system components (agents, CLI and other clients), it is highly recommended to disable the deprecated protocols.
Dec 16, 2017 2:49:12 PM jenkins.util.groovy.GroovyHookScript execute
INFO: Executing /var/jenkins_home/init.groovy.d/tcp-slave-agent-port.groovy
Dec 16, 2017 2:49:13 PM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Dec 16, 2017 2:49:14 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@4d13a46: display name [Root WebApplicationContext]; startup date [Sat Dec 16 14:49:14 UTC 2017]; root of context hierarchy
Dec 16, 2017 2:49:14 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
INFO: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@4d13a46]: org.springframework.beans.factory.support.DefaultListableBeanFactory@6af42668
Dec 16, 2017 2:49:14 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@6af42668: defining beans [authenticationManager]; root of factory hierarchy
Dec 16, 2017 2:49:14 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@63a30030: display name [Root WebApplicationContext]; startup date [Sat Dec 16 14:49:14 UTC 2017]; root of context hierarchy
Dec 16, 2017 2:49:14 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
INFO: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@63a30030]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1131f407
Dec 16, 2017 2:49:14 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1131f407: defining beans [filter,legacy]; root of factory hierarchy
Dec 16, 2017 2:49:15 PM jenkins.install.SetupWizard init
INFO:

*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

a2f85d4d845940e2a98824834e46aff3

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

--> setting agent port for jnlp
--> setting agent port for jnlp... done
Dec 16, 2017 2:49:38 PM hudson.model.UpdateSite updateData
INFO: Obtained the latest update center data file for UpdateSource default
Dec 16, 2017 2:49:38 PM hudson.WebAppMain$3 run
..................
[root@instance-8q3jv2np ~]# netstat -tunlp|grep 9090
tcp6 0 0 :::9090 :::* LISTEN 29588/docker-proxy

Web界面安装和RPM安装一致不在赘述
由于启动时设置挂载目录,可以在宿主机看到容器内工作目录下的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@instance-8q3jv2np _data]# cd /var/lib/docker/volumes/jenkins_home/_data
[root@instance-8q3jv2np _data]# ls -l
total 92
-rw-r--r-- 1 1000 1000 1719 Dec 16 22:49 config.xml
-rw-r--r-- 1 1000 1000 102 Dec 16 22:48 copy_reference_file.log
-rw-r--r-- 1 1000 1000 156 Dec 16 22:49 hudson.model.UpdateCenter.xml
-rw-r--r-- 1 1000 1000 370 Dec 16 22:53 hudson.plugins.git.GitTool.xml
-rw------- 1 1000 1000 1712 Dec 16 22:49 identity.key.enc
drwxr-xr-x 2 1000 1000 4096 Dec 16 22:48 init.groovy.d
-rw-r--r-- 1 1000 1000 94 Dec 16 22:49 jenkins.CLI.xml
-rw-r--r-- 1 1000 1000 6 Dec 16 22:55 jenkins.install.InstallUtil.lastExecVersion
-rw-r--r-- 1 1000 1000 6 Dec 16 22:55 jenkins.install.UpgradeWizard.state
drwxr-xr-x 2 1000 1000 4096 Dec 16 22:49 jobs
drwxr-xr-x 3 1000 1000 4096 Dec 16 22:49 logs
-rw-r--r-- 1 1000 1000 907 Dec 16 22:49 nodeMonitors.xml
drwxr-xr-x 2 1000 1000 4096 Dec 16 22:49 nodes
drwxr-xr-x 74 1000 1000 12288 Dec 16 22:53 plugins
-rw-r--r-- 1 1000 1000 64 Dec 16 22:49 secret.key
-rw-r--r-- 1 1000 1000 0 Dec 16 22:49 secret.key.not-so-secret
drwx------ 4 1000 1000 4096 Dec 16 22:55 secrets
drwxr-xr-x 2 1000 1000 4096 Dec 16 22:52 updates
drwxr-xr-x 2 1000 1000 4096 Dec 16 22:49 userContent
drwxr-xr-x 3 1000 1000 4096 Dec 16 22:55 users
drwxr-xr-x 10 1000 1000 4096 Dec 16 22:48 war
drwxr-xr-x 2 1000 1000 4096 Dec 16 22:53 workflow-libs

参考资料

官网资料
Jenkins与网站代码上线解决方案

======================================================
希望各位朋友支持一下

  • 领取我的阿里云幸运券,谢谢.
  • 使用腾讯云资源
  • Linode VPS
  • 搬瓦工VPS
  • 阿里云1888元云产品通用代金券点我
  • 阿里云最新活动全民云计算升级-拼团上云更优惠

本文作者:dongsheng
本文地址: https://mds1455975151.github.io/archives/a8c286cc.html
版权声明:转载请注明出处!

Jenkins之Jenkins介绍

发表于 2017-12-16 | 分类于 jenkins | | 阅读次数   |   字数统计: 1,407(字)   |   阅读时长: 5(分)

Jenkins简介


Jenkins是一个CI工具。它可以持续编译,运行你的代码;运行UT或集成测试;将运行结果发送至邮件,或展示成报告。这样做的最终目的是: 让项目保持健康的状态。如果任何checkin break了build,每个人都会在最短的时间内通知到,然后问题被fix。接下来的开发将建立在一个健康正确的基础上,而不是任由问题累积最后失控。 最后,你的项目随时可以被deliver给用户,因为,你的项目每一天都在健康,茁壮的生长。这就是CI的意义所在。
Jenkins 官网:http://jenkins-ci.org/
官网文档:https://jenkins.io/doc/
安装说明:https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins

阅读全文 »
1…333435…44
DongSheng

DongSheng

技术、产品、管理、思维格局

219 日志
28 分类
345 标签
RSS
GitHub ZhiHu Youtube Email
友情链接
  • Bob`S BLOG
  • 冰水鉴心
  • 客舍青青
  • easyAI-人工智能知识库
© 2017 - 2023 DongSheng
百度分析
由 Hexo 强力驱动
主题 - NexT.Mist   |  本站总访问量次   |  本站访客数人次