jenkins + 码云 + hexo + 服务器,练习jenkins自动化部署
一、 安装lamp集成环境
服务器配置:1M,CentOS 7.4 64位,40GB 高效云盘,1 vCPU 2 GiB
- 使用putty或类似的SSH工具登陆VPS或服务器;
登陆后运行:screen -S lnmp
如果提示screen: command not found 命令不存在可以执行:yum install screen
- 下载并安装LNMP一键安装包:
wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp // 如需要安装LNMPA或LAMP,将install.sh 后面的参数lnmp替换为lnmpa或lamp即可
- 安装完成之后访问公网域名就可以访问通
二、git安装和配置码云代码拉取
- 安装git命令:
yum install git
- 配置git用户和邮箱
git config --global user.name "jsbin"
git config --global user.email "xxxx@163.com"
- 生成秘钥:
ssh-keygen -t rsa -C "xxxx@163.com"
- 查看公钥:
cat /root/.ssh/id_rsa.pub
-
在码云设置添加公钥
三、本地下载hexo模板博客
Hexo是基于nodeJS环境的静态博客,里面的npm工具很有用啊,所以还是老老实实把这玩意儿装了吧,如果本地已经安装过则不需要再安装,点击下载安装包,一路“下一步”,安装完成之后运行命令
node -v // 查看是否安装成功,展示版本号
- 本地安装hexo命令
npm i -g hexo // 安装完成之后使用 hexo -v 查看版本
- 初始化本地博客模板
hexo init
- 解释一下:
- node_modules:是依赖包
- public:存放的是生成的页面
- scaffolds:命令生成文章等的模板
- source:用命令创建的各种文章
- themes:主题
- _config.yml:整个博客的配置
- db.json:source解析所得到的
- package.json:项目所需模块项目的配置信息
hexo server // 开启服务预览博客,http://localhost:4000/
hexo g // 生成网站静态文件到默认设置的 public 文件夹。
- 将hexo代码添加到自己的git仓库,我存储在码云
四、从码云上拉去代码到服务器
因为我们安装的lamp集成环境有一个默认的站点Default,如果你只希望有一个站点那么,直接将源码放入default文件夹即可,在本地使用公网IP访问。
以下步骤是在设置第二个站点,我将博客放在第二个站点
/home/wwwroot/default // 默认站点
- 在当前目录下新建Blog-master
- 在apache的虚拟目录下 /usr/local/apache/conf/vhost/ 新建‘www.blog.com.conf’文件
<VirtualHost *:80>
DocumentRoot "/home/wwwroot/Blog-master"
ServerName 127.0.0.1:8881
<Directory "/home/wwwroot/Blog-master">
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
</VirtualHost>
- 在apache中监听端口8881
/usr/local/apache/conf/httpd.conf // 编辑文件,监听8881端口
- 使用git从码云上将代码拉到站点中
==重启服务 /etc/init.d/httpd restart==,在 公网IP:8881访问。
五、服务器中安装jenkins
- 由于jenkins是java开发,所以需要jdk(Java Development Kit)
yum install java-1.8.0-openjdk* -y
- 下载依赖
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
- 导入秘钥
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
- 安装Jenkins
yum install jenkins
- 安装成功之后查看
rpm -ql 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端口:vim /etc/sysconfig/jenkins,查看参数JENKINS_PORT的值为端口
查看其他端口:
netstat -ntlp
如果没有占用jenkins端口可进行下一步;如果端口被占用,需要修改端口:
java -jar /usr/lib/jenkins/jenkins.war --ajp13Port=-1 --httpPort=其他端口
jenkins状态操作
sudo service jenkins start // 启动
sudo service jenkins restart // 重启
sudo service jenkins status // 看状态
获取密码:cat /root/.jenkins/secrets/initialAdminPassword,此路径可访问Jenkins地址查看,如下
如果忘记admin密码,可以用命令查看:cat /var/lib/jenkins/secrets/initialAdminPassword
jenkins安装成功,就可以配置了,这里不做赘述。