centos安装jenkins 并配置flask自动发布
自动部署来咯,虽然曾今也有搞过但是没整理成笔记,网上也有千千万万的坑,附jenkins安装
第一步 首先安装jenkins 要先安装jdk
yum search java|grep jdk yum install java-1.8.0-openjdk source /etc/profile
第二步 下载依赖
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificate
第三步 导入秘钥
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
第四步
yum -y install epel-release yum -y install daemonize yum install jenkins 但是安装jenkins可能会失败 上图是Jenkins官方文档中推荐的安装方式,不过该方式有两个弊端 一:安装的是Jenkins最新版本,无法自定义安装版本 二:使用国外的镜像源,下载速度极慢 解决方案 选择国内节点的镜像源 进入任意Jenkins国内节点,选择需要的版本右键直接复制其链接 Jenkins华为镜像源 https://mirrors.huaweicloud.com/jenkins/redhat-stable/ Jenkins清华大学镜像源 https://mirror.tuna.tsinghua.edu.cn/jenkins/redhat-stable/ Jenkins开源软件镜像源 https://mirrors.cnnic.cn/jenkins/redhat-stable/ Jenkins北京外国语大学镜像源 https://mirrors.bfsu.edu.cn/jenkins/redhat-stable/ 安装jenkins之前需要前面两个 yum -y install https://mirrors.huaweicloud.com/jenkins/redhat-stable/jenkins-2.303.3-1.1.noarch.rpm --skip-broken
第五步 安装成功之后可以查看目录信息
[root@analyse-test ~]# rpm -ql jenkins /etc/init.d/jenkins /etc/logrotate.d/jenkins /etc/sysconfig/jenkins /usr/lib/jenkins /usr/lib/jenkins/jenkins.war /usr/sbin/rcjenkins /var/cache/jenkins /var/lib/jenkins /var/log/jenkins
1、jenkins相关目录释义:
1. /usr/lib/jenkins/:jenkins安装目录,war包会放在这里。 2. /etc/sysconfig/jenkins:jenkins配置文件,“端口”,“JENKINS_HOME”等都可以在这里配置。 3. /var/lib/jenkins/:默认的JENKINS_HOME。 4. /var/log/jenkins/jenkins.log:jenkins日志文件。
第六步
修改jenkins端口号 vi /etc/sysconfig/jenkins 默认端口号是8080,为了防止端口冲突,我们需要修改端口号。 此处我改成5050
第七步 设置开机自启动 并 启动jenkins
chkconfig jenkins on
service jenkins start
第八步:查看jenkins密码 并利用ip:port访问jenkins服务安装默认配置即可
访问jenkins页面 填入密码 密码在访问页面,初始密码在/var/lib/jenkins/secrets/initialAdminPassword 安装默认配置 静静等待安装即可
然后其实就可以打开jenkins服务了,如下图
于是我们简单配置一个项目
选择新建任务 并输入名称
项目建立好之后进入项目选择配置
(1)配置保留的构建情况我选择近7天 保存10次构建历史
(2)配置git账号选择对应的分支 可以自动拉取
(3)就配置shell脚本啦 关闭之前的服务 启动现有的服务,这里就不做截图啦
配置完以上的点构建,其实就可以成功啦
ps但是可能会遇到很多问题 如果是拉取https的有一个证书问题,服务器上面可以拉取,但是jenkins会报错如下
其实可以这么处理
在Jenkins新建项目源码管理中输入Repository URL出错的问题,很大原因是使用了root生成的公私钥,实际上需要在登录jenkins账号的前提下生成,但是jenkins是系统自动创建的,没有登录权限也不知道密码。
这时需要先给j账号修改密码# sudo passwd jenkins
然后修改/etc/passwd下jenkins账号的解释器为/bin/bash
此时登录到jenkins账号,去到/var/lib/jenkins/.ssh/目录中,通过ssk-keygen命令生成新的私钥和公钥,把公钥添加到github中,把私钥配置到jenkins publish over ssh中。
经过测试连接github仓库正常,但coding.net不可以。
然后服务器切换jenkins账号 su jenkins 然后git命令忽略https 即可