We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
POST的这篇文章是讲解从无到有的JENKINS+GITHUB持续集成环境的搭建。JENKINS和其他平台的结合搭建,比如码云啥的,大同小异。下面我们STEP BY STEP地讲解一下,如有不合理地地方,还请指出☞
POST
JENKINS+GITHUB
JENKINS
码云
STEP BY STEP
为什么要购买服务器呢?因为你本地搭建jenkins环境之后,你跟github联通不了啊,要通过ip来github的webhooks的。当然,还有什么其他操作可以联通的,还望指出:)
jenkins
github
webhooks
注意:如果你在本地运行你的jenkins,那么你的webhooks可能是https://localhost:8080/github-webhook/,这不会起作用的,因为webhooks只在网络中起作用。你可以参考文章Adding a GitHub Webhook in Your Jenkins Pipeline了解一下。
https://localhost:8080/github-webhook/
这里,我购买了阿里云的低配服务器,操作系统是centos7。购买好服务器之后,我简单通过NGINX来代理,展示一个简单的静态页面。当然,这里不是我们的重点,所以就不展开来说了。
centos7
NGINX
需要注意的是,你需要配置你的安全组,你才能看到你的静态的站点,我配置如下图:
在上传了资源的时候,你打开阿里云上相关的ip地址,如果你没有看到期望的页面,请检查一下安全组的设置。
为什么要准备呢?
我们不可能老是登录自己的阿里云账号,然后切换到自己的服务器那里,然后再屁颠屁颠的操作程序吧~
如果你喜欢,那你就保留那种操作习惯吧。只能说你时间真多~
在这里,在mac pro和dell电脑上我都安装了SecureCRT【一款支持SSH(SSH1和SSH2)的终端仿真程序】,远程控制自己的服务器。我觉得挺好用的,喜欢!
mac pro
dell
服务器和远程控制的仿真程序都已经准备完成了,我们在服务器上面搭建下所需的环境。
先在服务器上安装java环境,可参考文章,安装好java sdk后,配置好环境。
java
java sdk
你可以通过java -version进行查看,下面是自己在服务器上的java安装信息和相关路径的设置:
java -version
1、路径/usr/lib/java是在本机下载好的jdk-8u231-linux-x64.tar.gz压缩文件上传到服务器的存放路径,解压后可以将其压缩包删除。
/usr/lib/java
jdk-8u231-linux-x64.tar.gz
2、/usr/java/java8我是我在服务器上的解压文件路径。
/usr/java/java8
按照下面的命令行进行操作:
$ yum install yum-fastestmirror -y #安装自动选择最快源的插件 #添加Jenkins源: $ sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo $ sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key $ yum install jenkins #安装jenkins
安装完毕后,你就可以启动jenkins了:
sudo service jenkins start
当然,启动之后,你可能出现下面的问题。
那就是你的java的引入路径有问题了~上图意思是:启动程序找不到java。
那么,你需要进入文件vim /etc/init.d/jenkins修改其路径就行了,如下:
vim /etc/init.d/jenkins
备注:linux 使用find .|xargs grep -ri "要查找的字符串"命令查找包含某字符串的文件
find .|xargs grep -ri "要查找的字符串"
顺利启动后,控制台有个success的提醒。你在浏览器上输入http://your server ip:8080就可以打开了,jenkins的默认端口号是8080,当然,你可以进入vim /etc/sysconfig/jenkins修改端口号等。
success
http://your server ip:8080
8080
vim /etc/sysconfig/jenkins
同上,如果网页不能打开,请查看下阿里云那里有没有设置好安全组了~
嗯,接下来就是一步步解锁Jenkins了。
Jenkins
我们能在自己的服务上面成功安装并运行了jenkins,下面我们来升级打怪,使用jenkins。
根据提示,我们执行cat /var/lib/jenkins/secrets/initialAdminPassword得到Administrator password,然后点击继续按钮,往下走。
cat /var/lib/jenkins/secrets/initialAdminPassword
Administrator password
我们选择安装推荐的插件,等待安装完毕,如果有安装失败的可以跳过,之后可以根据需求安装。
安装推荐的插件
你可以创建你自己的管理员用户信息,当然你也可以点击使用admin账号继续跳过。
使用admin账号继续
设置完成之后,进入界面:
我们的目的是要将github和jenkins结合起来,进行自动化发布。现在,我们来关联下github。我进入自己的github进行配置。
secret text这里在github上称为token吧。
secret text
token
进入github --> Settings --> Developer settings --> Personal access tokens -> Generate new token
之后生成一个新的token:
填写好toke的名称,勾选完上面的两个选项,之后按Generate token按钮进行确认:
toke
Generate token
自己先保存此token,如果丢失,之后再也无法找到这个token。
接着,选择你自己的一个github项目,这里我拿自己的博客仓库https://github.com/reng99/blogs作为例子:
https://github.com/reng99/blogs
进入github上指定的项目 --> Settings --> Webhooks --> Add Webhook --> 输入刚刚部署jenkins的服务器的IP
Payload URL的内容就是http://your_ip:port/github-webhook/。
Payload URL
http://your_ip:port/github-webhook/
正确安装之后,那么我们来配置Github Plugin,如果你还没安装github plugin,那就进入系统管理 --> 插件管理 --> 可选插件进行安装。(新版本的Jenkins)中已经帮你做了这一步。
github plugin
系统管理 --> 插件管理 --> 可选插件
这里默认已经安装了github plugin,下面来配置~
系统管理 --> 系统设置 --> GitHub --> 添加Github服务器
如下图所示:
API URL 输入 https://api.github.com,凭证Credentials点击添加,类型选择Secret Text,具体如下图所示:
https://api.github.com
点击添加按钮后,下拉选择凭证,选择你新增的那个,然后点击连接测试按钮,提示Credentials verified for user xxx, rate limit: xxx,则表明有效。
添加
连接测试
Credentials verified for user xxx, rate limit: xxx
进入主页 --> 新建任务
填写GitHub project URL,也就是你的主页https://github.com/your_name/your_repo_name,我这里使用我的博客仓库进行尝试https://github.com/reng99/blogs
GitHub project URL
https://github.com/your_name/your_repo_name
勾选Git选项之后,就会出现相关的填写项,根据下图的指引来填写就行了~
Git
https://github.com/your_name/your_repo_name.git
点击添加增加Credentials:
Credentials
勾选GitHub hook trigger for GITScm polling即可~
GitHub hook trigger for GITScm polling
勾选Use secret test(s) or file(s)即可~
Use secret test(s) or file(s)
选择绑定 --> 点击新增按钮 --> 选择Secret text --> 下拉选择你之前设置的secret token --> 之后应用
我这里就没怎么操作,你可以根据自己的需求来编写构建的脚本了。
你可以根据需求更改构建后的操作,我这里都默认。
上面的工作都完成之后,修改下我的blogs仓库的代码,提交后,刷新下自己的jenkins地址,出现下面的现象说明成功了~(ps: 第一次构建的时候比较耗时,请耐心等待,是不是刷新下页面了)
jenkins地址
在进行初始化的时候,一些插件我们可能会安装失败。不过,不要在意,你可以进来之后再针对需要的插件进行安装。
安装成功之后,进入/restart/路径对jenkins重启。
/restart/
再次进入就正常了,美滋滋~
进入服务器查看是否安装了git
# git version
没有git,此时需要安装git。
# yum install git
在构建触发器的时候,找不到选项Build when a change is pushed to Github
Build when a change is pushed to Github
那是因为新版的jenkins将其修改为GitHub hook trigger for GITScm polling了。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
POST
的这篇文章是讲解从无到有的JENKINS+GITHUB
持续集成环境的搭建。JENKINS
和其他平台的结合搭建,比如码云
啥的,大同小异。下面我们STEP BY STEP
地讲解一下,如有不合理地地方,还请指出☞购买一个服务器
为什么要购买服务器呢?因为你本地搭建
jenkins
环境之后,你跟github
联通不了啊,要通过ip来github的webhooks
的。当然,还有什么其他操作可以联通的,还望指出:)这里,我购买了阿里云的低配服务器,操作系统是
centos7
。购买好服务器之后,我简单通过NGINX
来代理,展示一个简单的静态页面。当然,这里不是我们的重点,所以就不展开来说了。需要注意的是,你需要配置你的安全组,你才能看到你的静态的站点,我配置如下图:
准备一款终端
为什么要准备呢?
我们不可能老是登录自己的阿里云账号,然后切换到自己的服务器那里,然后再屁颠屁颠的操作程序吧~
如果你喜欢,那你就保留那种操作习惯吧。只能说你时间真多~
在这里,在
mac pro
和dell
电脑上我都安装了SecureCRT【一款支持SSH(SSH1和SSH2)的终端仿真程序】,远程控制自己的服务器。我觉得挺好用的,喜欢!搭建JENKINS环境
服务器和远程控制的仿真程序都已经准备完成了,我们在服务器上面搭建下所需的环境。
安装java环境
先在服务器上安装
java
环境,可参考文章,安装好java sdk
后,配置好环境。你可以通过
java -version
进行查看,下面是自己在服务器上的java
安装信息和相关路径的设置:1、路径
/usr/lib/java
是在本机下载好的jdk-8u231-linux-x64.tar.gz
压缩文件上传到服务器的存放路径,解压后可以将其压缩包删除。2、
/usr/java/java8
我是我在服务器上的解压文件路径。安装jenkins
按照下面的命令行进行操作:
安装完毕后,你就可以启动
jenkins
了:当然,启动之后,你可能出现下面的问题。
那就是你的
java
的引入路径有问题了~上图意思是:启动程序找不到java
。那么,你需要进入文件
vim /etc/init.d/jenkins
修改其路径就行了,如下:顺利启动后,控制台有个
success
的提醒。你在浏览器上输入http://your server ip:8080
就可以打开了,jenkins
的默认端口号是8080
,当然,你可以进入vim /etc/sysconfig/jenkins
修改端口号等。同上,如果网页不能打开,请查看下阿里云那里有没有设置好安全组了~
嗯,接下来就是一步步解锁
Jenkins
了。Jenkins的使用
我们能在自己的服务上面成功安装并运行了
jenkins
,下面我们来升级打怪,使用jenkins
。解锁
根据提示,我们执行
cat /var/lib/jenkins/secrets/initialAdminPassword
得到Administrator password
,然后点击继续按钮,往下走。我们选择
安装推荐的插件
,等待安装完毕,如果有安装失败的可以跳过,之后可以根据需求安装。初始化账号和密码
你可以创建你自己的管理员用户信息,当然你也可以点击
使用admin账号继续
跳过。设置完成之后,进入界面:
关联 github
我们的目的是要将github和jenkins结合起来,进行自动化发布。现在,我们来关联下
github
。我进入自己的github
进行配置。生成 secret text
secret text
这里在github
上称为token
吧。之后生成一个新的
token
:填写好
toke
的名称,勾选完上面的两个选项,之后按Generate token
按钮进行确认:自己先保存此
token
,如果丢失,之后再也无法找到这个token
。设置 github webhooks
接着,选择你自己的一个
github
项目,这里我拿自己的博客仓库https://github.com/reng99/blogs
作为例子:Payload URL
的内容就是http://your_ip:port/github-webhook/
。jenkins的github配置
正确安装之后,那么我们来配置Github Plugin,如果你还没安装
github plugin
,那就进入系统管理 --> 插件管理 --> 可选插件
进行安装。(新版本的Jenkins)中已经帮你做了这一步。这里默认已经安装了
github plugin
,下面来配置~配置GitHub Plugin
如下图所示:
API URL 输入
https://api.github.com
,凭证Credentials点击添加,类型选择Secret Text,具体如下图所示:点击
添加
按钮后,下拉选择凭证,选择你新增的那个,然后点击连接测试
按钮,提示Credentials verified for user xxx, rate limit: xxx
,则表明有效。创建一个freestyle任务
General设置
填写
GitHub project URL
,也就是你的主页https://github.com/your_name/your_repo_name
,我这里使用我的博客仓库进行尝试https://github.com/reng99/blogs
配置源码管理
勾选
Git
选项之后,就会出现相关的填写项,根据下图的指引来填写就行了~https://github.com/your_name/your_repo_name.git
点击
添加
增加Credentials
:构建触发器
勾选
GitHub hook trigger for GITScm polling
即可~构建环境配置
勾选
Use secret test(s) or file(s)
即可~设置绑定
设置构建
我这里就没怎么操作,你可以根据自己的需求来编写构建的脚本了。
构建后操作
你可以根据需求更改构建后的操作,我这里都默认。
验证构建
上面的工作都完成之后,修改下我的blogs仓库的代码,提交后,刷新下自己的
jenkins地址
,出现下面的现象说明成功了~(ps: 第一次构建的时候比较耗时,请耐心等待,是不是刷新下页面了)错误处理
重新安插插件
在进行初始化的时候,一些插件我们可能会安装失败。不过,不要在意,你可以进来之后再针对需要的插件进行安装。
安装成功之后,进入
/restart/
路径对jenkins
重启。再次进入就正常了,美滋滋~
git command错误
进入服务器查看是否安装了git
# git version
没有git,此时需要安装git。
# yum install git
构建触发器找不到github选项
在构建触发器的时候,找不到选项
Build when a change is pushed to Github
那是因为新版的
jenkins
将其修改为GitHub hook trigger for GITScm polling
了。The text was updated successfully, but these errors were encountered: