【Jenkins】Jenkins启动与关闭
### 背景[自动化部署vue项目](https://www.sunofbeach.net/a/1359477549431869440)
前一篇博客中通过Jenkins自动部署了vue项目,但是我们启动Jenkins方式是这样启动的
```shell
java -jar jenkins.war
```
#### 存在问题
当我们关闭了终端之后,Jenkins就关闭了。我们需要的是长时间运行在服务器中。
#### tomcat
我们启动tomcat,把war丢进去。只要tomcat不不关闭,服务就可以长时间运行了。
#### 下载tomcat
```java
https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.55/bin/apache-tomcat-8.5.55.tar.gz
```
把tomcat放到服务器的某个位置。我的位置
/root/tools/下
```shell
tar -zxvf apache-tomcat-8.5.55.tar.gz
```
解压之后,把我们的jenkins.war放到
/root/tools/apache-tomcat-8.5.55/webapps中
然后配置环境变量
```shell
vi /etc/profile
#tomcat envirnoment
export CATALINA_HOME=/root/tools/apache-tomcat-8.5.55
export PATH=$PATH:$CATALINA_HOME/bin
export JENKINS_HOME=/root/.jenkins
```
JENKINS_HOME=/root/.jenkins为什么是这个位置呢?
我们之前通过java -jarjenkins.war启动了Jenkins之后,默认生成home目录就在这个位置。当然你可以自己改。
```shell
//应用环境变量
source /etc/profile
//启动tomcat
进入/root/tools/apache-tomcat-8.5.55/bin
sh startup.sh
//停止(如果资源有限,平时可以关闭tomcat,需要部署的时候再打开,打开Jenkins之后,占用服务器500mb内存)
sh shutdown.sh
```
#### 如何访问
我们通过java -jar启动,直接通过ip地址:端口访问
现在通过tomcat处理之后。
地址变成这样子
```java
ip:8080/jenkins
//如果有域名,可以这样
http://moonlightshadow.cn:8080/jenkins
```
以上~
后续计划:
>自动化部署spring boot项目(博客系统后端)
>自动化部署nuxtjs项目(门户) blawhickte 发表于 2021-2-23 22:05
用docker的方式运行更方便
我也尝试过用docker来运行。
我遇到一个问题:docker中运行job的时候,比如我的项目中有一个sh脚本。在job执行时候,执行sh。
里面的环境变量和主机的环境变量不一致。
我查找了很多资料也没有解决这问题。比如:我主机安装了node环境,执行sh的时候,npm not found。我打印环境变量,没有node的环境变量,但是我在主机切换到Jenkins工作目录下执行$path,或者执行我的sh。是正常的。这个让我很困惑。whoami也是root。您知道这是什么原因吗 Titanic 发表于 2021-2-24 10:58
Jenkins是可以通过Web界面实现一切,如果你还是通过脚本、或者去输入命令的方式,那么你的Jenkins用法就错 ...
明白你的意思,不过,我不熟悉Jenkins,对docker也是刚刚开始用。很多东西还不知道怎么处理。
比如怎么使用流水线等等,还需要学习。
目前是自己写的项目,想做自动部署。
但是自动部署现在初步实现了。虽然不太优雅。后面工作空闲之后,会继续学习,感谢指导 用docker的方式运行更方便 莫问刀 发表于 2021-2-23 22:10
我也尝试过用docker来运行。
我遇到一个问题:docker中运行job的时候,比如我的项目中有一个sh脚本。在j ...
宿主机的环境变量是和容器内的环境变量不通用的, 你可以在Jenkins的web界面通过插件进行安装所需的nodeJS环境:系统管理->插件管理->选择可选插件->在上方输入框输入nodejs搜索然后进行安装 blawhickte 发表于 2021-2-23 22:21
宿主机的环境变量是和容器内的环境变量不通用的, 你可以在Jenkins的web界面通过插件进行安装所需的nodeJ ...
安装好了之后需要配置环境变量吗,在安装中有点慢 docker exec -it容器名 bash或者sh
进入容器内部来安装配置 自己打一个docker镜像 Jenkins是可以通过Web界面实现一切,如果你还是通过脚本、或者去输入命令的方式,那么你的Jenkins用法就错误了,Jenkins + 插件,配置好后,就已经为你实现了多数人的需求。 蟹蟹 发表于 2021-2-24 09:07
docker exec -it容器名 bash或者sh
进入容器内部来安装配置
感谢提醒,有时间尝试下这个,也就是进入容器中,安装我需要的环境,这样Jenkins使用对应环境的命令就可以用了是吧。我也是第一次用Jenkins,不知道怎么处理比较合适。所以选择执行项目中自己写的sh来编译项目。
页:
[1]
2