环境安装

创建目录

后续下载的内容 放在里边方便管理

 cd /mkdir dockercd dockermkdir maven mkdir jenkinsmkdir javamkdir registry

宝塔

不在赘述 前往官网有安装命令 宝塔下载页面

docker

  • 安装docker后 打开安装docker

  • 修改docker 配置 可远程访问

    vim  /lib/systemd/system/docker.service
    
    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
    # ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --         containerd=/run/containerd/containerd.sock
    ExecReload=/bin/kill -s HUP $MAINPID
    TimeoutSec=0
    RestartSec=2
    Restart=always
    
  • 重载配置重启

    systemctl daemon-reload && systemctl restart docker
    

maven

  • 前往maven下载页面

  • 选择版本下载 如:apache-maven-3.8.6-bin.tar.gz

  • 上传至服务器/docker/maven目录下 解压

    tar –xvf apache-maven-3.8.6-bin.tar.gz
    
  • 创建仓库保存目录

    mkdir repository
    

  • 修改maven settings.xml 文件

    cd /docker/maven/apache-maven-3.8.6/conf
    vim settings.xml
    
      <mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>
    
     <localRepository>/docker/maven/repository/repo</localRepository>
    

    阿里云镜像

    配置本地仓库

java

  • 前往官网下载JDK oracle官方下载地址 (你发任你发 我用JAVA8)

  • 选择版本下载 如:jdk-8u351-linux-aarch64.tar.gz

  • 上传至服务器/docker/java目录下 解压

    tar –xvf jdk-8u351-linux-aarch64.tar.gz
    

本地仓库

  • 下载镜像

    docker search registry
    


    下载官方的

    docker pull registry
    
  • 启动容器

    docker run -d -v /docker/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:latest
    
  • 访问http://ip:5000/v2/_catalog 看到 {“repositories”:[]} 表示成功

  • 修改/etc/docker/daemon.json 第二行 没有的话可以不加 可以去docker镜像服务申请 详见docker镜像私服

    {"insecure-registries":["192.168.0.107:5000"],"registry-mirrors": ["**********"]
    }
    
  • 重启docker

    systemctl restart docker
    

jenkins

  • 拉取jenkins 镜像

    docker search jenkins
    

  • 挂载容器卷启动容器

    docker run -d -p 18080:8080 -p 50000:50000 --privileged=true -u root -v             /docker/jenkins:/var/jenkins_home
    -v /docker/maven/apache-maven-3.8.6:/usr/local/apache-maven
    -v /docker/java/jdk1.8.0_341:/usr/local/java/jdk1.8
    -v /var/run/docker.sock:/var/run/docker.sock
    -v /usr/bin/docker:/usr/bin/docker
    -v /www/wwwroot:/www/wwwroot
    -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai --name jenkins jenkins
    

    这两个解决jenkins shell docker命令找不到问题

    -v /var/run/docker.sock:/var/run/docker.sock
    -v /usr/bin/docker:/usr/bin/docker
    

    这个为前端项目部署创建 挂载目录

    -v /www/wwwroot:/www/wwwroot
    
  • 解决离线问题

    cd /docker/jenkins
    vim hudson.model.UpdateCenter.xml
    

    改为清华镜像

    <sites><site><id>default</id><url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json</url></site>
    </sites>
    
  • 解决插件安装慢问题
    替换 default.json内的内容

    cd /docker/jenkins/updates
    sed -i 's/www.google.com/www.baidu.com/g' default.json
    sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
    #重启 Jenkins
    docker restart jenkins的容器id
    
  • 登录 开始安装依赖
    原始密码在initialAdminPassword文件内

    cd /docker/jenkins/secrets
    cat initialAdminPassword
    

jenkins配置

全局工具配置

maven


jdk

系统配置

环境变量

配置自动化发布

安装插件 Maven Integration plugin

安装插件 Generic Webhook Trigger

安装插件 NodeJS


解决node无法下载

cd /docker/jenkins/updates
touch hudson.plugins.nodejs.tools.NodeJSInstaller
vim hudson.plugins.nodejs.tools.NodeJSInstaller
{"list":[{"id":"12.16.3","name":"NodeJS 12.16.3","url":"https://nodejs.org/dist/v12.16.3/"},{"id":"9.9.0","name":"NodeJS 9.9.0","url":"https://nodejs.org/dist/v9.9.0/"},{"id":"9.8.0","name":"NodeJS 9.8.0","url":"https://nodejs.org/dist/v9.8.0/"},{"id":"9.7.1","name":"NodeJS 9.7.1","url":"https://nodejs.org/dist/v9.7.1/"}]
}

全局工具配置 NodeJS

后端Maven项目构建单模块

  • 创建maven项目

  • 配置git地址以及账号

  • 构建配置 生成镜像(若直接执行镜像 可在配置执行shell)

  • pom.xml配置

        <build><finalName>app</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><!-- docker的maven插件,官网: https://github.com/spotify/docker‐maven‐plugin--><plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.0</version><configuration><imageName>192.168.0.107:5000/${project.artifactId}:${project.version}</imageName><baseImage>jdk1.8</baseImage><entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint><resources><resource><targetPath>/</targetPath><directory>${project.build.directory}</directory><include>${project.build.finalName}.jar</include></resource></resources><dockerHost>http://192.168.0.107:2375</dockerHost></configuration></plugin></plugins>
    </build>
    

后端Maven项目构建多模块

  • 创建maven项目

  • 配置git地址以及账号

  • 构建配置 生成镜像

  • 构建成功后执行shell

    echo "在指定docker目录创建Dockerfile文件用于生成docker容器"
    cd yshop-app/target
    cat>Dockerfile<<EOF
    FROM jdk1.8
    ADD /app.jar //
    ENTRYPOINT ["java", "-jar", "/app.jar"]
    # ENTRYPOINT ["java", "-jar", "/admin.jar",">> ","/var/logs/log.log","&"]
    EOFecho "清理已有容器及镜像资源"
    container="yshop-app"
    image=${container}if docker ps | grep ${container} ;thendocker stop ${container}
    fiif docker ps -a | grep ${container};thendocker rm ${container}
    fiif docker images | grep ${image};thendocker rmi ${image}
    fiecho "镜像制作"
    docker build -t ${image} .
    echo "容器运行"
    docker run -d --restart=always --name ${container} -v      /usr/local/project/tidePlayMall/app/logs:/var/logs -p 8008:8008  ${image}  -Duser.timezone=GMT+8
    # docker run -d --restart=always --name ${container} -v /usr/local/project/tidePlayMall/admin/avatar:/usr/local/project/tidePlayMall/admin/avatar -v /usr/local/project/tidePlayMall/admin/file:/usr/local/project/tidePlayMall/admin/file -v  /usr/local/project/tidePlayMall/admin/logs:/var/logs -p 8001:8001  ${image}  -Duser.timezone=GMT+8
  • 配置 Webhook

    • 变量

    • token(自定义)

    • 云效

      http://JENKINS_URL/generic-webhook-trigger/invoke?token=**********
      内网服务器 可以做个内网穿透

前端vue项目部署

  • 宝塔创建站点

  • 配置构建环境

  • 执行sell

    node -v
    npm install
    rm -rf ./dist/*  #移除工作区dist文件
    npm run-script build  #打包项目
    rm -rf /www/wwwroot/192.168.0.107/dist/*  #删除/www/wwwroot/192.168.0.107/dist上一次构建文件
    cp -rf ./dist/* /www/wwwroot/192.168.0.107/dist  #将打包后的dist文件拷贝 到/www/wwwroot/192.168.0.107/dist ,/www/wwwroot/192.168.0.107/dist为nginx文件目录
    
  • 其他的git地址配置 Webhook 都一样

Jenkins + 云效 前后端项目自动化部署相关推荐

  1. Windos 前后端项目的部署

    目录 1. 文件上传操作 1.1 编辑FileService 1.2 文件上传代码测试 2. 文件删除操作 2.1 业务接口说明 2.2 编辑FileController 2.3 编辑FileServ ...

  2. 前后端项目手动部署至服务器

    1. 在服务器上配置环境 需要安装JDK.Mysql.Nginx 可以手动安装以上环境,也可以先安装docker后再拉镜像安装以上环境 2.安装完mysql后,在navicat中连接远程数据库 若连接 ...

  3. Springboot+vue前后端项目的部署和搭建

    项目导入 为了方便,我直接在桌面上通过git bash克隆项目: git clone https://github.com/wuyouzhuguli/FEBS-Vue.git 克隆后,桌面上多出一个F ...

  4. 若依框架前后端项目分离部署(验证码不显示原因解决步骤)

    标题若依框架项目部署分为前端项目部署和后端项目部署. 一.后端项目部署(比较省略) 1.jar部署方式 将jar包放到文件的service目录下,使用命令行执行执行脚本. 2.war部署方式 ruoy ...

  5. 阿里云ECS服务器前后端项目部署

    最近自己写了一个小项目,想把它部署在服务器上以便实时查看,在此记录一下自己的部署过程以及在部署过程中遇到的问题,方便日后查看. 参考:www.kovli.com/2017/09/19/- 作者:Kov ...

  6. (三)jenkins+bonobo git server+windows系统自动化部署springboot项目(远程windows自动化部署)

    前提 jenkins安装,参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 自动化部署,参考:(二)jenki ...

  7. (二)jenkins+bonobo git server+windows系统自动化部署springboot项目(自动化部署)

    前提:jenkins安装 参考:(一)jenkins+bonobo git server+windows系统自动化部署springboot项目(jenkins安装) 1插件下载 主要是检查如下插件是否 ...

  8. docker 一键部署前后端项目 ruoyi

    使用 docker 一键部署前后端项目 这里我以开源项目ruoyi 的 vue 前后端为例,想要通过 docker 一键跑起来,需要对项目做部分调整. 修改 springboot yml 的配置 ap ...

  9. RDC如何构建一个基于NodeJS的前后端项目

    摘要: 最近在将公司的持续集成架构做一个系统的调整,调整过程中受到了RDC团队大量的帮助,所以利用国庆时间写了几篇RDC的分享,希望能让更多的人了解和用好RDC这个产品. 我会把我最近3个月的使用体会 ...

最新文章

  1. 20181110-软件开发架构2
  2. 《算法图解》第四章笔记与课后练习_快速排序算法
  3. 方法中的参数的五种形式
  4. 用python写名字代码_用python编写一个批量修改文件名的小程序
  5. vijos 1067 Warcraft III 守望者的烦恼 矩阵
  6. android WebView通过js方法与原生交互
  7. html lt p gt 标签的属性,科技常识:html中amp;lt;tableamp;gt;标签的各种属性介绍_table的使用...
  8. 黄聪:Wordpress程序Mysql查询导致CPU100%,页面错误增量飙高解决方案
  9. 计算机中是如何存储图片的,电脑如何保存图片
  10. 【visio 绘图矢量图素材网站】
  11. 莫烦强化学习-Q Learning
  12. MySQL 数据库规范
  13. 史上最简SLAM零基础解读(4) - 单应性Homography →公式推导与细节理解
  14. 用计算机绘制二项分布概率图,二项分布和泊松分布实验.doc
  15. eclipse配置--代码提示、xml提示
  16. 鸢尾花lris数据集的SVM线性分类
  17. 读书笔记 摘自:《为什么精英都是时间控》
  18. centos oracle libaio哪下载,在CentOS4.5上安装Oracle10g出现的libaio-0.3.96; found Not found问题求救...
  19. 程序人生 - 为了避免惹上官司,你可以在这些免版权图片网站里寻找素材
  20. 侯捷先生的Design Patterns高级课程

热门文章

  1. linux驱动-platform详解
  2. java语言保留结构和联合_Java 语言中取消了联合概念,保留了结构概念。( )_学小易找答案...
  3. 逻辑与,逻辑或||和逻辑非!的区别
  4. iOS 花式二维码生成和二维码识别
  5. 数学基础知识之Sin、cos画圆
  6. js的数据类型和强制类型转换
  7. SQL常用的一些关键字
  8. 计算机配置 凭据分配,如何在Windows 10中分配默认凭据提供程序 | MOS86
  9. 服务器ssh升级导致的java程序ssh连接失败
  10. windows debug tools