电子商务网站建设的步骤一般为,如何进行网页设计和网站制作,青岛房地产团购网站建设,如何创建网站难吗目录
创建私服仓库
vi /etc/docker/daemon.json
vim deploy.sh判断脚本内容
创建 建木 后端部署
命名空间
设置密码用户名
创建git仓库
gitignore文件内容
图形项目操作
git
maven
docker镜像
点击流程日志
vim /etc/docker/daemon.json
执行部署脚本 ip 开发…目录
创建私服仓库
vi /etc/docker/daemon.json
vim deploy.sh判断脚本内容
创建 建木 后端部署
命名空间
设置密码用户名
创建git仓库
gitignore文件内容
图形项目操作
git
maven
docker镜像
点击流程日志
vim /etc/docker/daemon.json
执行部署脚本 ip 开发环境
webhook
设置---web钩子--URL
qq
克隆 DSL
去idea添加版本号 因为我是子继父 拆分的项目 需要这个 版本号随便给
然后仓库的依赖也不要忘记给
前端部署
这里再下载一个nginx 直接最新版本 加速包
服务器之间传输命令操作 安装nginx
vim default.conf脚本操作
容器化时代的前端部署
大致流程图
git
node
缓存
scp 创建私服仓库 阿里云 liunx dockerfile构建镜像 部署 超细 手把手教-CSDN博客 名字随便取 16000 容许覆盖 默认阿里 在这里授权 保存 开端口 采访是这样的 vi /etc/docker/daemon.json 里面放 insecure-registries:[xxxx:16000] 前面是你自己的ip 是nexus的服务器ip 刷新 systemctl daemon-reload 重启 systemctl restart docker nexus登录 docker login xxxx(ip):16000 docker tag cloud-file:1.0.0 xxxx:16000/cloud-file:1.0.0docker push xxxx:16000/cloud-file:1.0.0 觉得下载慢的可以换成服务器的ip私就快 那个是内网 知道大家懒 所以我复制上来了
vim deploy.sh判断脚本内容
vim deploy.sh #!/bin/bashexport repHostxxx:16000/export imageNameexport imageTag#解析参数
while getopts i:t:r opt; docase $opt in i) imageName$OPTARG ;;t)imageTag$OPTARG ;;r) repHost$OPTARG ;;\?)echo 无效exit 1 ;;esac
doneexport image$repHost$imageName:$imageTagecho 镜像名称: $imageName,镜像标签:$imageTag
echo $image#不能为空
if [ -z $imageName ]; thenecho镜像名称不能为空 使用-iexit 1
fi
if [ -z $imageTag ]; thenecho标签名称不能为空 使用-texit 1
fi #判断容器是否存在
# 使用 docker ps -a 检查所有容器然后 grep 过滤出特定的容器ID
containerId$(docker ps -a | grep $imageName | awk {print $1})
echo 容器id--------------$containerId#如果 containerId 不为空说明找到了对应的容器
if [ -n $containerId ]; then
#检查容器是否正在运行if docker inspect -f {{.State.Running}} $containerId | grep -q true; then#停止容器echo停止容器$imageName -$containerIddocker stop $containerIdfi# 删除容器echo 删除容器 $imageName - $containerIddocker rm -f $containerId
else#如果没有找到容器打印一条信息并忽略echo 没有找到这个容器
fiimageId$(docker images -q $image)if [ -n $imageId ]; thenecho 删除镜像 $imageIddocker rmi $imageId
elseecho 没有找到镜像
fiecho 镜像开始下载docker pull $imagedocker run -d --name $imageName --networkdev-net \
$imagemkdir jianmu cd jianmu/ wget https://gitee.com/jianmu-dev/jianmu-deploy/raw/master/docker-compose.yml docker compose up -d 直接ip访问80 记得放端口不然访问不了 登录 用户名 admin 密码他默认123456 创建 建木 后端部署
建木有什么作用呢
刚刚上面一堆操作 这个那个命令的 有了他 会方便很多 持续集成持续部署 我刚才演示的都是部署到线上 但是 我们得清楚 有些东西不需要那么繁琐就能部署到线上首先先创建密钥得创建一个命名空间。 点击进去创建
命名空间 设置密码用户名
都是你之前设置的服务器 等等其他的密码 根据你的需求
这是我依次创建好的 就可以去进行编排
创建git仓库 Git勤勉 两种方式上传-CSDN博客 项目不要忘记加这个文件 这个不加 上传仓库不了 太多了没必要的东西了
gitignore文件内容 ######################################################################
# Build Tools.gradle
/build/
!gradle/wrapper/gradle-wrapper.jartarget/
!.mvn/wrapper/maven-wrapper.jar######################################################################
# IDE### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr### JRebel ###
rebel.xml
### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/######################################################################
# Others
*.log
*.xml.versionsBackup
*.swp!*/build/*.java
!*/build/*.html
!*/build/*.xml 这个仓库是我之前拆分项目创建其中之一一个仓库 图形项目操作
把链接复制好 去这图形项目里开始操作
git 把前面创建好的仓库链接复制过来 设置节点名字 把刚刚复制的git链接给他 及名字密码 接下来就是Maven 记得连接否则没有参数 maven 然后去你的nexus复制公共路径 这里要用nexus的内网ip
然后保存 docker镜像 不要有空格 直接在这个界面再创建一个命名 就取个名字什么都不用加 变成下面的样子 触发 打开里面是这样的 点击流程日志 他先因为第一次 没有镜像所以他先会去拉。拉完镜像之后它才会执行。第一次的话都会稍微有点慢是正常现象。 此时你的建木服务器有需要修改一个配置 vim /etc/docker/daemon.json 里面放 再去登录 docker login xxx:1600 然后再去建木重启触发
强调如果有依赖报错 解决之后需要再上传git 同时也要deploy 如果是子继承父 需要加版本号 最重要的是公共仓库地址也要给 distributionManagementrepositoryidyun-releases/idnameyun-releases/nameurlhttp://xxxx:8081/repository/maven-releases//url/repository
/distributionManagement 执行部署脚本 ip 开发环境 sh /home/deploy/deploy.sh -i-t () webhook
如果不想每次手动 可以搞个webhook 接下来就是教程
这个时候点击git system仓库的设置 会有个web钩子 这个作用是不需要自己手动触发 然后去建木拉一个这个 保存后点击这个会出现一个链接 然后放到这里
设置---web钩子--URL 就可以了
如果想让他部署完了通知加个邮件 接下来就是邮件通知流程 qq host:smtp.qq.com port:587 克隆 DSL 因为不可以克隆 所以只能一个一个把其他项目也是按照这个步骤 但是不是完全没有办法 进去有一个查看DSL 复制一下到 代码项目这里操作 粘贴上去 到这边把这个改成你其他git项目的链接 这里要name也要改变 就出现这个 进去复制给你现在这个项目创建钩子 去idea添加版本号 因为我是子继父 拆分的项目 需要这个 版本号随便给 然后仓库的依赖也不要忘记给 distributionManagementrepositoryidyun-releases/idnameyun-releases/nameurlhttp://xxxx:8081/repository/maven-releases//url/repository
/distributionManagement 还有忽略包 前面忘记说了 !-- 加入maven deploy插件当在deploy时忽略些model--
plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-deploy-plugin/artifactIdconfigurationskiptrue/skip/configuration
/plugin 然后上传git上 再去建木启动就好了 前端部署
去服务器把原本Nginx80端口删了或者杀了 因为我前面下载过nginx了 ps aux | grep nginx kill -9 (id) 现在把之前在虚拟机部署的东西都可以删除了 rm -rf (auth/)名称 因为我们要用容器化了 Nginx也删除 不需要它代替谁了 rm -rf (nginx/)名称 这里再下载一个nginx 直接最新版本 docker pull nginx 加速包 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json EOF { registry-mirrors: [ https://hub.uuuadc.top, https://docker.anyhub.us.kg, https://dockerhub.jobcher.com, https://dockerhub.icu, https://docker.ckyl.me, https://docker.awsl9527.cn ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker 服务器之间传输命令操作 安装nginx
或者 去有加速包的服务器拉一下传输过来 docker save -o nginx.tar nginx ifconfig 查看网络接口配置 找到eth0下面的ip 在你要的服务器查看 scp nginx.tar rootxxx(是你刚刚查看的ip):/home/nginx.tar yes 输入你的密码 成功 这个时候在那边服务器操作 docker load /home/nginx.tar 启动 docker run --name nginx -p 80:80 nginx 访问这个ip80 出现这个才正常 docker exec -it nginx /bin/bash cd .. cd etc/ ls cd /nginx ls cat nginx.conf 这是一些工作的一些目录 exit mkdir config docker cp nginx:/etc/nginx/conf.d/default.conf ./ vim default.conf vim default.conf脚本操作
把这个注释了 换成这个 location / { root /home/html/dist; try_files $uri $uri/ /index.html; index index.html index.htm; } location /prod-api/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://cloud-gateway:8080/; } vim deployNginx.sh #!/bin/bash docker run -d \ --name cloud-wed \ --network dev-net \ -p 80:80 \ -v ./config/default.conf:/etc/nginx/conf.d/default.conf \ -v ./html:/home/html \ nginx docker rm -f nginx sh deployNginx.sh docker logs -f cloud-wed 好了 Linux操作结束 接下来就是容器化时代的前端部署 容器化时代的前端部署 build:prod 大致流程图 git node 缓存 在这里新建一个缓存。新建缓存。给他挂缓存。缓存目录给它挂一下就行了。这样的你第一次下载会比较慢一点。但是第二次下载了他会用你第一次下载的东西
现在建木传到建开发环境。服务器与服务器之间传输。 这个时候就需要scp了
scp 这里是为了确定前端打包路径 /home/deploy/web-ui/html/dist 去git 直接在设置下面这里推送