alibaba cloud linux3+graalvm21+maven+nodejs+docker+jenkins2.440.1 线上环境配置自动打包部署构建前端项目

安装docker 添加docker-ce的dnf源

sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装Alibaba Cloud Linux 3专用的dnf源兼容插件

sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus

安装Docker

sudo dnf -y install docker-ce --nobest

如果执行命令时,出现类似如下的报错信息,您需要执行sudo dnf clean packages清除软件包缓存后,重新安装docker-ce
检查Docker是否安装成功

sudo docker -v

启动Docker服务,并设置开机自启动

sudo systemctl start docker
sudo systemctl enable docker

配置Java21 Maven3.9.5 Nodejs18.19 环境

下载最新稳定jdk21

https://download.oracle.com/graalvm/21/latest/graalvm-jdk-21_linux-x64_bin.tar.gz

下载最新稳定maven

https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.zip

下载最新稳定nodejs

https://npmmirror.com/mirrors/node/v18.19.0/node-v18.19.0-linux-x64.tar.xz

并上传到服务器

新建目录

mkdir /usr/local/java

解压

tar -zxvf graalvm-jdk-21_linux-x64_bin.tar.gz -C /usr/local/java/
cd /usr/local/java/

重命名

mv graalvm-jdk-21.0.2+13.1 graalvm-jdk-21

新建目录

mkdir /usr/local/maven

安装zip 解压命令
yum install -y unzip zip

解压

unzip apache-maven-3.9.6-bin.zip /usr/local/maven/
cd /usr/local/maven/

重命名

mv apache-maven-3.9.6-bin apache-maven-3.9.6

新建目录

mkdir /usr/local/nodejs

解压

tar -xf node-v18.19.0-linux-x64.tar.xz /usr/local/nodejs/
cd /usr/local/nodejs/

重命名

mv node-v18.19.0-linux-x64 node-v18.19.0

编辑环境

vim /etc/profile

配置java环境

export JAVA_HOME=/usr/local/java/graalvm-jdk-21
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export MAVEN_HOME=/usr/local/maven/apache-maven-3.9.6
export PATH=$PATH:$MAVEN_HOME/bin

export NODE_HOME=/usr/local/nodejs/node-v18.19.0
export PATH=$PATH:$NODE_HOME/bin


source /etc/profile

docker 启动 jenkins

更改安全配置为可执行

vim /etc/selinux/config

开启远程访问

chcon -Rt svirt_sandbox_file_t /usr/local/maven/apache-maven-3.9.6
chcon -Rt svirt_sandbox_file_t /usr/local/java/graalvm-jdk-21
chcon -Rt svirt_sandbox_file_t /usr/local/nodejs/node-v18.19.0

运行容器

docker run -u root -d \
-p 8080:8080 \
-p 50000:50000  \
-v /var/jenkins_home:/var/jenkins_home --memory=5g \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/local/maven/apache-maven-3.9.6:/usr/local/maven/apache-maven-3.9.6 \
-v /usr/local/java/graalvm-jdk-21:/usr/local/java/graalvm-jdk-21 \
-v /usr/local/nodejs/node-v18.19.0:/usr/local/nodejs/node-v18.19.0 \
-v /etc/localtime:/etc/localtime:ro \
-e JENKINS_OPTS="--prefix=/jenkins" \
-e JENKINS_ARGS="--prefix=/jenkins" \
-e TZ="Asia/Shanghai" \
--name jenkins --privileged=true --restart=always jenkins/jenkins:2.440.1

将容器打包成镜像

docker commit 29b113b2ce3a jenkins-2.440.1

将镜像保存为本地文件,可以使用Docker save命令

docker save -o jenkins-2.440.1.tar jenkins-2.440.1

从文件载入镜像

docker load --input mssql-2019-with-cimb.tar

然后通过docker images 就能看到了


docker ps
docker images
docker ps -a
docker rm jenkins
docker rmi jenkins
docker exec -it jenkins bash

查找镜像

docker search nacos 

拉取最新镜像

docker pull redis:latest

启动容器

docker run elasticsearch

停止容器

docker stop elasticsearch

查看端口使用

lsof -i:8080

查看进程

docker ps

删除容器

docker rm 25b7b405f71c

删除镜像

docker rmi 5acf0e8da90b

设置容器开机自启

docker update redis --restart=always
 -v:目录挂载,将data文件夹挂在到指定目录下,将redis.conf挂载到指定目录下,实际目录要进入redis中查看(docker exec -it redis bash)
 -p:端口映射,将docker中的6379端口映射到服务器的6379端口上
 --restart=always 总是开机启动
 --log是日志方面的
 -p 6379:6379 将6379端口挂载出去
 --name 给这个容器取一个名字
 -v 数据卷挂载
 - /home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
 - /home/redis/myredis/data:/data 这个同上
 -d redis 表示后台启动redis
 redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
 –appendonly yes 开启redis 持久化
 –requirepass 123456 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置)
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /mydata/redis/config/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 123456\

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Jenkins是一个开源的自动部署工具,它可以帮助我们实现持续集成和自动部署。而Docker是一种虚拟化技术,可以将应用程序及其依赖打包成一个可移植的容器,实现快速部署和可靠性。 在使用Jenkins进行自动部署时,可以搭配使用DockerMaven来创建一个完整的自动部署环境。首先,我们需要在Jenkins服务器上安装Docker,然后使用Docker创建一个虚拟容器,容器中包含了我们的项目代码和相关的环境依赖。 接下来,我们可以使用Maven来管理和构建我们的项目。在Jenkins配置Maven构建任务后,每当代码有更新或提交时,Jenkins自动触发构建任务。在构建任务中,Jenkins会从代码仓库中拉取最新的代码,并使用Maven进行编译、测试、打包等操作。 当构建成功后,Jenkins可以将构建好的应用程序打包成一个Docker镜像,然后将镜像推送到Docker仓库。我们可以使用Docker的相关命令将该镜像部署到服务器上,即可实现自动部署。在部署过程中,Docker自动解析容器中的依赖,并创建一个虚拟环境来运行我们的应用程序。 通过使用JenkinsDockerMaven,我们可以实现一个完整的自动部署环境。这样一来,我们只需要在代码有更新时提交到代码仓库,Jenkins就会自动触发构建任务,并将构建好的应用程序部署到服务器上。这大大提高了部署效率,减少了人工操作的错误和风险,同时也提高了系统的可靠性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等一场春雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值