当前位置: 首页 > news >正文

苏州高端网站建设设计公司哪家好竞价推广代运营服务

苏州高端网站建设设计公司哪家好,竞价推广代运营服务,wordpress简化注册,wordpress搜索功能文章目录 概述部署前端Vue应用一、环境准备1、Dockerfile2、.dockerignore3、nginx.conf4、Jenkinsfile 二、Jenkins部署1、新建任务2、流水线3、Build Now 构建 & 访问 Springboot后端应用1. 准备工作2. 创建项目结构3. 编写 Dockerfile后端 Dockerfile (backend/Dockerfi…

文章目录

  • 概述
    • 部署前端Vue应用
      • 一、环境准备
        • 1、Dockerfile
        • 2、.dockerignore
        • 3、nginx.conf
        • 4、Jenkinsfile
      • 二、Jenkins部署
        • 1、新建任务
        • 2、流水线
        • 3、`Build Now` 构建 & 访问
  • Springboot后端应用
      • 1. 准备工作
      • 2. 创建项目结构
      • 3. 编写 Dockerfile
        • 后端 Dockerfile (`backend/Dockerfile`)
      • 4. 创建 Jenkinsfile
        • Jenkinsfile 示例:
      • 5. 设置 Jenkins Job
      • 6. 运行 Pipeline
      • 7. 持续集成与交付
      • 8. 监控与维护
    • 其他Jenkinsfile示例

概述

本文介绍如何使用Dockerfile+Jenkinsfile方式部署Java前后端应用

部署前端Vue应用

一、环境准备

项目中新增Docker文件夹

在这里插入图片描述

1、Dockerfile
# 拉取nginx基础镜像
FROM nginx:1.21.1# 维护者信息
MAINTAINER zhengqingya# 将dist文件中的内容复制到 `/usr/share/nginx/html/` 这个目录下面
COPY dist/  /usr/share/nginx/html/
# 用本地配置文件来替换nginx镜像里的默认配置
COPY nginx/nginx.conf /etc/nginx/nginx.conf# 对外暴漏的端口号
# [注:EXPOSE指令只是声明容器运行时提供的服务端口,给读者看有哪些端口,在运行时只会开启程序自身的端口!!]
EXPOSE 80# 启动nginx容器
CMD ["nginx", "-g", "daemon off;"]
2、.dockerignore
node_modules
3、nginx.conf
user  nginx;
worker_processes  1;error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;#gzip  on;# include /etc/nginx/conf.d/*.conf;server {listen       80;server_name  localhost; # 服务器地址或绑定域名#charset koi8-r;#access_log  /var/log/nginx/host.access.log  main;# =========================================================# ================== ↓↓↓↓↓↓ start ↓↓↓↓↓↓ ==================# =========================================================location / {root   /usr/share/nginx/html;index  index.html index.htm;try_files $uri $uri/ /index.html;}# =========================================================# ================== ↑↑↑↑↑↑ end ↑↑↑↑↑↑ ==================# =========================================================#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}}
}
4、Jenkinsfile

在项目根目录下新建Jenkinsfile文件

pipeline {agent anyenvironment {APP_NAME = 'vue-web'APP_PROFILE = 'prod'APP_IMAGE = 'vue-web:dev'APP_PORT = 88}stages {stage('vue环境准备') {steps {sh """# 下载依赖 & 构建distcnpm install && cnpm run build:${APP_PROFILE}# 拷贝dist到Docker目录下cp -r dist Docker/"""}}stage('构建Docker镜像') {steps {sh """# 删除旧容器docker ps -a | grep ${APP_NAME} | awk '{print \$1}' | xargs -i docker stop {} | xargs -i docker rm {}# 删除旧镜像docker images | grep ${APP_NAME} | awk '{print \$3}' | xargs -i docker rmi {}# 进入Docker目录cd Docker# 构建镜像docker build -f Dockerfile -t ${APP_IMAGE} . --no-cache"""}}stage('运行容器') {steps {sh """docker run -d -p ${APP_PORT}:80 --restart=always --name ${APP_NAME} ${APP_IMAGE}"""}}}
}

二、Jenkins部署

1、新建任务

选择Pipeline

在这里插入图片描述

2、流水线

在这里插入图片描述

脚本路径:

Jenkinsfile

保存配置

3、Build Now 构建 & 访问

ip:88

Springboot后端应用

使用 Dockerfile 和 Jenkinsfile 的方式来部署 Java 前端和后端应用,可以实现一个高效的 CI/CD 流程。这个流程包括构建、测试、打包、创建 Docker 镜像、推送镜像到仓库以及部署到目标环境。下面是详细的步骤指南,涵盖了前后端分离的 Java 应用的部署。

1. 准备工作

  • 安装和配置 Jenkins:确保你已经安装了 Jenkins,并且它能够访问你的代码仓库(如 GitHub 或 GitLab)。
  • 安装必要的插件
    • Git Plugin:用于从 Git 仓库拉取代码。
    • Docker Pipeline Plugin:用于在 Jenkins Pipeline 中操作 Docker。
    • Docker Hub / 私有仓库凭证:如果你打算将 Docker 镜像推送到 Docker Hub 或其他私有仓库,请确保 Jenkins 已经配置好相应的凭证。
  • Docker 安装:确保 Jenkins 节点上安装并配置了 Docker。

2. 创建项目结构

假设你有一个包含后端的应用,目录结构如下:

my-java-app/
├── backend/
│   ├── src/
│   ├── pom.xml (或 build.gradle)
│   └── Dockerfile

3. 编写 Dockerfile

后端 Dockerfile (backend/Dockerfile)
# 使用官方的 OpenJDK 镜像作为基础镜像
FROM eclipse-temurin:17-jdk-alpine# 维护者信息 (可选)
LABEL maintainer="your-email@example.com"# 设置工作目录
WORKDIR /app# 将本地的 myapp.jar 复制到容器中的 /app 目录下
COPY target/myapp.jar /app/myapp.jar# 暴露应用监听的端口 (默认为8080)
EXPOSE 8080# 启动命令,使用 java 命令来运行 jar 文件
ENTRYPOINT ["java", "-jar", "/app/myapp.jar"]

4. 创建 Jenkinsfile

在项目的根目录下创建 Jenkinsfile 来定义 CI/CD 流程。

Jenkinsfile 示例:
pipeline {agent anyenvironment {DOCKER_IMAGE_BACKEND = 'my-backend-app'DOCKER_TAG_BACKEND = "latest"DOCKER_HUB_CREDENTIALS_ID = 'docker-hub-credentials-id' // 替换为你的凭证 ID}stages {stage('Checkout') {steps {git branch: 'main', url: 'https://github.com/your-repo-url.git'}}stage('Build Backend') {steps {dir('backend') {sh './mvnw clean package -DskipTests' // 使用 Maven 构建,如果使用 Gradle,则改为 ./gradlew build -x test}}}    stage('Build Docker Images') {parallel {stage('Backend Image') {steps {script {docker.build("${env.DOCKER_IMAGE_BACKEND}:${env.DOCKER_TAG_BACKEND}", 'backend')}}}}}stage('Push Docker Images') {parallel {stage('Push Backend Image') {steps {script {docker.withRegistry('https://registry.hub.docker.com', "${env.DOCKER_HUB_CREDENTIALS_ID}") {docker.image("${env.DOCKER_IMAGE_BACKEND}:${env.DOCKER_TAG_BACKEND}").push()}}}}}}stage('Deploy') {steps {script {// 这里可以根据实际情况添加部署逻辑,例如通过 Docker Compose 或 Kubernetes 部署// 下面是一个简单的示例,直接运行容器def backendContainer = docker.run("-d --name my-backend-container -p 8080:8080 ${env.DOCKER_IMAGE_BACKEND}:${env.DOCKER_TAG_BACKEND}")}}}}post {always {// 清理工作空间或其他清理任务cleanWs()}}
}

5. 设置 Jenkins Job

  • 在 Jenkins 中创建一个新的 Pipeline Job。
  • Pipeline script from SCM 选项设置为 Git,并指定你的仓库 URL 和分支。
  • 如果你在仓库中有 Jenkinsfile,选择它作为 Pipeline 的定义文件。
  • 配置构建触发器(例如,基于 Git 提交或定时触发)。

6. 运行 Pipeline

一旦所有配置完成,点击“立即构建”按钮来手动触发一次构建,或者等待自动触发条件满足时自动执行。

7. 持续集成与交付

  • 持续集成 (CI):每次代码提交后,Jenkins 会自动拉取最新代码并运行测试,确保代码质量。
  • 持续交付 (CD):构建成功后,Jenkins 会自动创建 Docker 镜像并将其推送到仓库,然后根据配置部署到目标环境。

8. 监控与维护

  • 日志查看:通过 Jenkins UI 查看构建和部署的日志输出,以便快速定位问题。
  • 健康检查:为应用设置健康检查端点,并在 Jenkins 中配置相应检查以确保服务正常运行。
  • 回滚策略:考虑实现回滚机制,以便在新版本出现问题时能够迅速恢复到上一个稳定版本。

其他Jenkinsfile示例


pipeline{agent {label 'MVN3'}stages{stage('clone'){steps{git url: 'https://github.com/tarunkumarpendem/shopizer.git',branch: 'master'}}stage ('build') {steps {sh 'mvn clean package'}}stage('Build the Code') {steps {withSonarQubeEnv('sonarcloud') {sh script: 'mvn clean package sonar:sonar'}}stage('archiving-artifacts'){steps{archiveArtifacts artifacts: '**/target/*.jar', followSymlinks: false}}stage('junit_reports'){steps{junit '**/surefire-reports/*.xml'}}}    pipeline {agent {label 'OPENJDK-11-JDK'}triggers {pollSCM('0 17 * * *')}stages {stage('vcs') {steps {git branch: 'release', url: 'https://github.com/longflewtinku/shopizer.git'         }}stage('merge') {steps {sh 'git checkout devops'sh 'git merge release --no-ff'}}stage('build') {steps {sh 'mvn clean install'}}}
}
http://www.mmbaike.com/news/63112.html

相关文章:

  • 绵竹移动网站建设军事新闻最新
  • 大公司做网站哈尔滨推广优化公司
  • 国内最大的网站制作公司网站排名优化公司
  • 山东网站建设公司哪家权威一站式营销平台
  • 网站建设如何做报价企业营销策划
  • 佛山中小企业网站制作产品网络营销策划方案
  • 哪家做网站好的全国疫情的最新数据
  • 平台投诉举报热线电话seo搜索引擎优化期末及答案
  • 做网站公司 深圳信科运营推广是做什么的
  • 金融网站建设公司杭州关键词排名工具
  • 宠物店网站开发文档撰写品牌营销策略有哪些
  • 网站建设 外文文献鹤壁网络推广哪家好
  • 合肥网站建设工作室可以入侵的网站
  • 做网站需要哪几个板块seo查询站长工具
  • 教育网站开发价钱西安百度公司官网
  • 网站客户服务方案seo关键词排名优化官网
  • 360度全景网站的公司seo站外优化最主要的是什么
  • 家用电脑做网站服务器目前最火的自媒体平台
  • wordpress做企业网站互联网优化是什么意思
  • 贵阳企业网站建设制作线上营销活动主要有哪些
  • 网推渠道seo搜索引擎优化是做什么的
  • 温州建设诚信评价网站公示毕业设计网站
  • 昆山做网站找文博提高seo关键词排名
  • 石家庄自己怎么做网站啊网络营销策划书封面
  • 网络规划与设计心得体会seo发包技术教程
  • 怎么用抓爬工具做网站搜索引擎营销的案例
  • 网站检测报告哪里做社群推广平台
  • 网站备案 办理拍照sem推广是什么意思
  • 找题做的网站seo深圳培训班
  • 宏泰机械网站建设现在有哪些网址