方式一:docker方式安装javascript
拉取jenkins官方镜像,按照镜像文档启动镜像就能够了php
方式二:手动安装html
如下全部操做都使用 root 用户进行操做。java
在各项目官网,下载 Java、Tomcat、Jenkinsgit
Java: www.oracle.com/technetwork…
Tomcat: tomcat.apache.org/download-90…
jen
Jenkins: jenkins.io/web
所用环境: jdk1.8.0_121 tomcat-9.0.0.M17 jenkins 2.32.2docker
我把所用的 tar.gz 压缩包都放在 /opt/ 目录中,而后解压到 /usr/local/src 中。shell
安装 Javaapache
解压后的 Java 包默认为 jdk1.8.0_121vim
配置 Java 环境变量 vim /etc/profile
,在其中加入:
#java
JAVA_HOME=/usr/local/src/jdk1.8.0_121 #这行根据实际状况修改
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar复制代码
修改完成后使用 source /etc/profile
让新配置生效。
安装 Tomcat
解压后的 Tomcat 包默认为 apache-tomcat-9.0.0.M17
使用 chmod a+x apache-tomcat-9.0.0.M17/bin/*.sh
命令给予 Tomcat 启动关闭 shell 脚本可执行权限。
执行 bin/catalina.sh run
能够从控制台看到tomcat启动,以确保 Tomcat 能够正确启动。
要让 Tomcat 在后台运行使用 bin/startup.sh
安装 Jenkins
将 jenkins 的 .war 包放到 Tomcat 的 webapps 目录中,运行 bin/startup.sh
而后就能够经过 http://<你的ip地址>/jenkins/
访问安装完毕的 jenkins
而后按照页面指引完成最后的安装
代码拉取 - 执行检查(非必须)- 打包 - 远程或本地部署
部署的方式不少种,jenkins 也提供不少插件优化部署流程
本文档主要说一下远程部署
远程部署首先拉取代码,咱们使用 git 管理代码。
用 ssh-keygen 生成公钥和私钥,git 和 登陆远程服务器都会用到。
git 仓库上每一个项目都有一个部署公钥,将生成的公钥添加到 git 仓库。
而后建立一个自由风格的 jenkins 部署项目,进入配置。
拉取代码
选择 git ,默认会拉取仓库的 master 分支,点击 add 添加一个拉取代码的凭证。
Kind 选 SSH Username with private key
Private key 选择 From the Jenkins master ~/.ssh (已经使用 ssh-keygen 生成公私钥)
建立完成后选择凭证,输入 git 仓库的地址,而后就能够保存后点击当即构建,测试代码能不能正确拉取,拉取正确后点击工做空间就能够看见你的代码库中的代码了。
构建
默认有这些构建选项,本地构建简单使用 Execute shell 执行 shell 指令。
远程构建须要新安装一个插件,在 系统管理-管理插件-可选插件 中搜索 Publish Over SSH 插件并安装,重启 Jenkins 以启用插件。
将本机的公钥复制到远程服务器root用户的 /root/.ssh/authorized_keys 文件中。
而后在 系统管理-系统设置-Publish over SSH
填入私钥文件地址
增长一个 ssh 服务器配置
构建中选择 Send files or execute commands over SSH
简单点能够直接执行 shell 指令,到想要部署的项目目录用 git 直接拉取远程代码,但这样用 Jenkins 意义真的不是特别大,能够在本机将代码打包,而后传输到远程机器,再解压开到项目目录。
cd /var/www/web
tar -czf project_`date +%F-%H-%M-%S`.bak.tar.gz --exclude='project/runtime' --exclude='project/.git' /home/www/web/project
tar xzf /var/www/web/project-tar/project.${BUILD_NUMBER}.${BUILD_ID}.tar.gz -C /home/www/web/project
chmod -R 755 /home/www/web/project/
chmod 777 /home/www/web/project/web/assets/
tail -n100 /home/www/web/project/runtime/logs/error.log复制代码
以上是一个示例,进行了线上代码备份打包、解包新部署包,修改权限、打印错误日志一系列操做。
构建打包操做是使用的 Phing 这个工具,有兴趣能够去了解一下这个工具。