网站建设与运营 就业可以在几个 网站备案

张小明 2026/1/19 19:19:27
网站建设与运营 就业,可以在几个 网站备案,网站建设考试试卷,国家企业信息公示系统官网查询#x1f4cb; 前置条件 已安装 Docker 和 Docker ComposeLinux/Mac 环境#xff08;或 WSL2#xff09;有一个运行中的 Jenkins 实例SSH 密钥对用于部署#xff08;可选但建议#xff09;#x1f3d7;️ 第一步#xff1a;创建项目目录结构 # 进入你的工作目录#xff… 前置条件已安装 Docker 和 Docker ComposeLinux/Mac 环境或 WSL2有一个运行中的 Jenkins 实例SSH 密钥对用于部署可选但建议️ 第一步创建项目目录结构# 进入你的工作目录比如cd/home# Jenkins 主目录mkdir-p jenkins-agents/{jenkins-home,agent-node,agent-java-17,agent-java-21,jenkins-cache/{pnpm-store,m2}}# 各 agent 的工作目录mkdir-p jenkins-agents/agent-node/workmkdir-p jenkins-agents/agent-java-17/workmkdir-p jenkins-agents/agent-java-21/work# 查看目录结构tree -L2# 或者用 ls -lals-la目录结构应该如下jenkins-agents/ ├── agent-java-17 │ ├── Dockerfile │ ├── start-agent.sh │ └── work/ ├── agent-java-21 │ ├── Dockerfile │ ├── start-agent.sh │ └── work/ ├── agent-node │ ├── Dockerfile │ ├── start-agent.sh │ └── work/ ├── jenkins-cache/ │ ├── m2/ │ └── pnpm-store/ ├── jenkins-home/ ├── .env └── docker-compose.yml 第二步配置 .env 文件在jenkins-agents目录下创建.env文件xxxxxxxxxxxxxxxxxxxxxxxx要在 Jenkins 管理界面创建节点中获取当前步骤先用占位符cat.envEOF # Jenkins 基础配置 JENKINS_URLhttp://jenkins:8080 # Node.js agent Secret从 Jenkins 获取 JENKINS_SECRET_NODExxxxxxxxxxxxxxxxxxxxxxxx # Java 17 agent Secret从 Jenkins 获取 JENKINS_SECRET_JAVA_17xxxxxxxxxxxxxxxxxxxxxxxx # Java 21 agent Secret从 Jenkins 获取 JENKINS_SECRET_JAVA_21xxxxxxxxxxxxxxxxxxxxxxxx # 时区配置 TZAsia/Shanghai EOF替换所有 Secret 值为你在 Jenkins 中获取的真实值。 第三步创建各 Agent 的 Dockerfile3.1.1 创建 Node.js Agent Dockerfilecatagent-node/DockerfileEOF # 基础镜像包含 JDK 21 FROM eclipse-temurin:21-jdk # 时区 ENV TZAsia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime echo $TZ /etc/timezone # 常用工具 RUN apt-get update apt-get install -y --no-install-recommends \ git curl unzip zip bash sudo procps openssh-client \ rm -rf /var/lib/apt/lists/* # Node.js 安装 ENV NODE_VERSION24.1.0 ENV NODE_DIST_URLhttps://mirrors.aliyun.com/nodejs-release/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz RUN curl -fsSL $NODE_DIST_URL -o /tmp/node.tar.gz \ tar -xzf /tmp/node.tar.gz -C /opt \ rm /tmp/node.tar.gz ENV NODE_HOME/opt/node-v${NODE_VERSION}-linux-x64 ENV PATH$NODE_HOME/bin:$PATH # pnpm 安装 RUN npm config set registry https://registry.npmmirror.com RUN npm install -g pnpm # Jenkins agent 工作目录 ENV JENKINS_AGENT_WORKDIR/home/jenkins/agent RUN mkdir -p $JENKINS_AGENT_WORKDIR chmod -R 777 $JENKINS_AGENT_WORKDIR WORKDIR $JENKINS_AGENT_WORKDIR # 拷贝启动脚本 COPY start-agent.sh /home/jenkins/start-agent.sh RUN chmod x /home/jenkins/start-agent.sh # 默认执行启动脚本 ENTRYPOINT [/home/jenkins/start-agent.sh] EOF3.1.2 创建 Node.js Agent start-agent.shcatagent-node/start-agent.shEOF #!/bin/bash set -e echo 等待 Jenkins 启动... until curl -sf $JENKINS_URL/login /dev/null; do sleep 3 done echo Jenkins 已就绪下载 agent.jar... curl -sSf $JENKINS_URL/jnlpJars/agent.jar -o agent.jar echo 启动 Jenkins Agent... exec java -jar agent.jar \ -url $JENKINS_URL \ -secret $JENKINS_SECRET \ -name $JENKINS_AGENT_NAME \ -webSocket \ -workDir $JENKINS_AGENT_WORKDIR EOF3.2.1 创建 Java 17 Agent Dockerfilecatagent-java-17/DockerfileEOF # 基础镜像包含 JDK 17 FROM eclipse-temurin:17-jdk # 时区 ENV TZAsia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime echo $TZ /etc/timezone # 常用工具 RUN apt-get update apt-get install -y --no-install-recommends \ git curl unzip zip bash sudo procps openssh-client \ rm -rf /var/lib/apt/lists/* # Maven ENV MAVEN_VERSION3.9.11 ENV MAVEN_DOWNLOAD_URLhttps://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz RUN curl -fsSL $MAVEN_DOWNLOAD_URL | tar -xz -C /opt ENV MAVEN_HOME/opt/apache-maven-$MAVEN_VERSION ENV PATH$MAVEN_HOME/bin:$PATH # Gradle ENV GRADLE_VERSION9.2.1 ENV GRADLE_DOWNLOAD_URLhttps://mirrors.aliyun.com/gradle/distributions/v$GRADLE_VERSION/gradle-$GRADLE_VERSION-bin.zip RUN curl -fsSL $GRADLE_DOWNLOAD_URL -o /tmp/gradle.zip \ unzip /tmp/gradle.zip -d /opt rm /tmp/gradle.zip ENV GRADLE_HOME/opt/gradle-$GRADLE_VERSION ENV PATH$GRADLE_HOME/bin:$PATH # Jenkins agent 工作目录 ENV JENKINS_AGENT_WORKDIR/home/jenkins/agent RUN mkdir -p $JENKINS_AGENT_WORKDIR chmod -R 777 $JENKINS_AGENT_WORKDIR WORKDIR $JENKINS_AGENT_WORKDIR # 拷贝启动脚本 COPY start-agent.sh /home/jenkins/start-agent.sh RUN chmod x /home/jenkins/start-agent.sh # 默认执行启动脚本 ENTRYPOINT [/home/jenkins/start-agent.sh] EOF3.2.2 创建 Java 17 start-agent.shcatagent-java-17/start-agent.shEOF #!/bin/bash set -e echo 等待 Jenkins 启动... until curl -sf $JENKINS_URL/login /dev/null; do sleep 3 done echo Jenkins 已就绪下载 agent.jar... curl -sSf $JENKINS_URL/jnlpJars/agent.jar -o agent.jar echo 启动 Jenkins Agent... exec java -jar agent.jar \ -url $JENKINS_URL \ -secret $JENKINS_SECRET \ -name $JENKINS_AGENT_NAME \ -webSocket \ -workDir $JENKINS_AGENT_WORKDIR EOF3.3.1 创建 Java 21 Agent Dockerfilecatagent-java-21/DockerfileEOF # 基础镜像包含 JDK 21 FROM eclipse-temurin:21-jdk # 时区 ENV TZAsia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime echo $TZ /etc/timezone # 常用工具 RUN apt-get update apt-get install -y --no-install-recommends \ git curl unzip zip bash sudo procps openssh-client \ rm -rf /var/lib/apt/lists/* # Maven ENV MAVEN_VERSION3.9.11 ENV MAVEN_DOWNLOAD_URLhttps://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-$MAVEN_VERSION-bin.tar.gz RUN curl -fsSL $MAVEN_DOWNLOAD_URL | tar -xz -C /opt ENV MAVEN_HOME/opt/apache-maven-$MAVEN_VERSION ENV PATH$MAVEN_HOME/bin:$PATH # Gradle ENV GRADLE_VERSION9.2.1 ENV GRADLE_DOWNLOAD_URLhttps://mirrors.aliyun.com/gradle/distributions/v$GRADLE_VERSION/gradle-$GRADLE_VERSION-bin.zip RUN curl -fsSL $GRADLE_DOWNLOAD_URL -o /tmp/gradle.zip \ unzip /tmp/gradle.zip -d /opt rm /tmp/gradle.zip ENV GRADLE_HOME/opt/gradle-$GRADLE_VERSION ENV PATH$GRADLE_HOME/bin:$PATH # Jenkins agent 工作目录 ENV JENKINS_AGENT_WORKDIR/home/jenkins/agent RUN mkdir -p $JENKINS_AGENT_WORKDIR chmod -R 777 $JENKINS_AGENT_WORKDIR WORKDIR $JENKINS_AGENT_WORKDIR # 拷贝启动脚本 COPY start-agent.sh /home/jenkins/start-agent.sh RUN chmod x /home/jenkins/start-agent.sh # 默认执行启动脚本 ENTRYPOINT [/home/jenkins/start-agent.sh] EOF3.3.2 创建 Java 21 start-agent.shcatagent-java-21/start-agent.shEOF #!/bin/bash set -e echo 等待 Jenkins 启动... until curl -sf $JENKINS_URL/login /dev/null; do sleep 3 done echo Jenkins 已就绪下载 agent.jar... curl -sSf $JENKINS_URL/jnlpJars/agent.jar -o agent.jar echo 启动 Jenkins Agent... exec java -jar agent.jar \ -url $JENKINS_URL \ -secret $JENKINS_SECRET \ -name $JENKINS_AGENT_NAME \ -webSocket \ -workDir $JENKINS_AGENT_WORKDIR EOF验证所有 Dockerfile 已创建ls-la agent-*/Dockerfile 第四步创建 docker-compose.ymlcatdocker-compose.ymlEOF networks: jenkins-net: driver: bridge services: # Jenkins 主节点 jenkins: image: jenkins/jenkins:lts container_name: jenkins user: 1000:1000 networks: - jenkins-net ports: - 8080:8080 - 50000:50000 volumes: - ./jenkins-home:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock environment: TZ: Asia/Shanghai restart: unless-stopped # Node.js agent agent-node: build: context: ./agent-node dockerfile: Dockerfile container_name: jenkins-agent-node networks: - jenkins-net env_file: - .env environment: JENKINS_URL: http://jenkins:8080 JENKINS_AGENT_NAME: node-agent JENKINS_SECRET: ${JENKINS_SECRET_NODE} TZ: Asia/Shanghai volumes: - ./agent-node/work:/home/jenkins/agent - ./jenkins-cache/pnpm-store:/root/.pnpm-store - /var/run/docker.sock:/var/run/docker.sock depends_on: - jenkins restart: unless-stopped # Java 17 agent agent-java-17: build: context: ./agent-java-17 dockerfile: Dockerfile container_name: jenkins-agent-java-17 networks: - jenkins-net env_file: - .env environment: JENKINS_URL: http://jenkins:8080 JENKINS_AGENT_NAME: java-agent-17 JENKINS_SECRET: ${JENKINS_SECRET_JAVA_17} TZ: Asia/Shanghai volumes: - ./agent-java-17/work:/home/jenkins/agent - ./jenkins-cache/m2:/root/.m2 - /var/run/docker.sock:/var/run/docker.sock depends_on: - jenkins restart: unless-stopped # Java 21 agent agent-java-21: build: context: ./agent-java-21 dockerfile: Dockerfile container_name: jenkins-agent-java-21 networks: - jenkins-net env_file: - .env environment: JENKINS_URL: http://jenkins:8080 JENKINS_AGENT_NAME: java-agent-21 JENKINS_SECRET: ${JENKINS_SECRET_JAVA_21} TZ: Asia/Shanghai volumes: - ./agent-java-21/work:/home/jenkins/agent - ./jenkins-cache/m2:/root/.m2 - /var/run/docker.sock:/var/run/docker.sock depends_on: - jenkins restart: unless-stopped EOF 第五步设置文件权限# 切换到 jenkins-agents 目录cd/home/jenkins-agents# 设置所有者根据你的用户调整sudochown-R1000:1000 jenkins-homesudochown-R1000:1000 jenkins-cache# 设置权限sudochmod-R755jenkins-homesudochmod-R755jenkins-cache# 创建必要的子目录权限sudochmod-R777jenkins-cache/pnpm-storesudochmod-R777jenkins-cache/m2sudochmod-R777jenkins-cache/docker-cache# 验证权限ls-la|grepjenkins如果你用的是当前用户非 root# 如果 jenkins-agents 在你的用户目录下chmod-R755jenkins-homechmod-R755jenkins-cachechmod-R777jenkins-cache/pnpm-storechmod-R777jenkins-cache/m2chmod-R777jenkins-cache/docker-cache 第六步启动所有服务# 进入项目目录cd/home/jenkins-agents# 构建所有镜像第一次运行docker compose build# 启动所有服务docker compose up -d# 查看启动日志docker compose logs -f# 检查所有容器状态docker composeps预期输出NAME STATUS jenkins Up2minutes jenkins-agent-node Up1minute jenkins-agent-java-17 Up1minute jenkins-agent-java-21 Up1minute 第七步生成 Jenkins Secret7.1 在 Jenkins 管理界面创建节点登录 Jenkins →管理 Jenkins→节点管理点击新建节点3 次创建node-agentjava-agent-17java-agent-217.2 配置每个节点以node-agent为例节点名称node-agent类型选择Permanent AgentRemote root directory/home/jenkins/agent标签node可选启动方式选择通过Java Web启动代理自定义 WorkDir 路径/home/jenkins/agent点击保存后你会看到一个连接命令里面有 Secret如下curl-sSf http://YOUR_JENKINS_URL/jnlpJars/agent.jar java -jar agent.jar -url http://YOUR_JENKINS_URL -secret xxxxxxxxxxxxxxxxxxxxxxxx -name JENKINS_AGENT_NAME -webSocket -workDir JENKINS_AGENT_WORKDIR提取 Secret 部分-secret后面的那串并记录下来。7.3 重复创建其他 3 个节点记录所有 Secret7.4 将记录所有 Secret替换 .env 文件中的 agent Secret然后重启服务✅ 第八步验证节点连接方式一通过 Jenkins 管理界面登录 Jenkins →管理 Jenkins→节点管理检查所有 3 个节点是否显示为“Online”如果显示 “Offline”查看节点日志方式二通过命令行查看日志# 查看 Node agent 日志docker compose logs jenkins-agent-node# 查看 Java 17 agent 日志docker compose logs jenkins-agent-java-17# 实时查看所有日志docker compose logs -f成功连接的日志示例jenkins-agent-node|2024-12-1010:15:30... Successfully connected 第九步测试 Pipeline在 Jenkins 创建一个测试 Pipeline使用以下 Jenkinsfilepipeline{agent{labelnode// 使用 node-agent}stages{stage(Test Node){steps{shnode --versionshpnpm --versionshgit --version}}}}测试 Java 17pipeline{agent{labeljava-agent-17}stages{stage(Test Java 17){steps{shjava -versionshmvn --versionshgradle --version}}}}️ 常用命令# 启动服务docker compose up -d# 停止服务docker compose down# 重启特定服务docker compose restart jenkins-agent-node# 查看实时日志docker compose logs -f jenkins-agent-node# 进入容器调试docker composeexecjenkins-agent-nodebash# 重新构建镜像docker compose build --no-cache# 查看容器资源使用docker stats# 删除所有数据谨慎docker compose down -v 故障排查问题 1节点显示 “Offline”# 查看连接日志docker compose logs jenkins-agent-node# 检查 .env 中的 Secret 是否正确cat.env|grepJENKINS_SECRET# 重启 agentdocker compose restart jenkins-agent-node问题 2构建时权限错误# 检查缓存目录权限ls-la jenkins-cache/# 重新设置权限chmod-R777jenkins-cache/m2chmod-R777jenkins-cache/pnpm-store问题 3DNS 解析错误编辑.env将 JENKINS_URL 改为你的真实地址# 如果 Jenkins 在外部JENKINS_URLhttp://192.168.1.100:8080# 或使用 Docker 网络 DNSJENKINS_URLhttp://jenkins:8080问题 4Docker 权限错误# 检查 docker.sock 挂载docker composeexecjenkins-agent-dockerls-la /var/run/docker.sock# 添加权限docker composeexecjenkins-agent-dockerchmod666/var/run/docker.sock 完整检查清单创建了jenkins-agents目录及所有子目录在 Jenkins 创建了 3 个 JNLP 节点复制了所有 3 个 Secret 到.env文件创建了所有 3 个 Dockerfile创建了docker-compose.yml设置了正确的文件权限运行docker compose build构建镜像运行docker compose up -d启动所有服务验证所有 3 个节点在 Jenkins 中显示为 “Online”成功运行了测试 Pipeline 快速参考任务命令启动所有服务docker compose up -d停止所有服务docker compose down查看服务状态docker compose ps查看日志docker compose logs -f进入容器docker compose exec jenkins-agent-node bash重建镜像docker compose build查看 .env 内容cat .env
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站开发培训周末班wordpress必要插件

Venera漫画阅读器完全攻略:解锁专业级数字漫画阅读新体验 【免费下载链接】venera A comic app 项目地址: https://gitcode.com/gh_mirrors/ve/venera 还在为手机上看漫画体验不佳而烦恼?Venera漫画阅读器将彻底改变你的数字阅读习惯!…

张小明 2026/1/17 20:47:56 网站建设

建站加盟建设银行不会自动弹出网站

Android内核定制终极实践:模块化刷机工具深度解析 【免费下载链接】AnyKernel3 项目地址: https://gitcode.com/gh_mirrors/an/AnyKernel3 掌握AnyKernel3这一强大工具,您将能够轻松创建支持多设备的内核刷机包,无需担心Magisk兼容性…

张小明 2026/1/17 20:47:58 网站建设

设计师都上什么网站静态网站做淘宝客

终极AI量化投资平台Qlib:快速部署完整指南 【免费下载链接】qlib Qlib 是一个面向人工智能的量化投资平台,其目标是通过在量化投资中运用AI技术来发掘潜力、赋能研究并创造价值,从探索投资策略到实现产品化部署。该平台支持多种机器学习建模范…

张小明 2026/1/17 20:48:00 网站建设

做塑胶原料用什么网站好仿京东网站模板

PaddlePaddle多模态模型ERNIE-ViLG图文生成技术实践 在内容创作日益依赖人工智能的今天,如何让机器“看懂”文字并“画出”画面,已成为AIGC领域最具挑战性的任务之一。尤其是面对中文语境下复杂的表达习惯——比如“穿汉服的女孩站在开满樱花的庭院里&am…

张小明 2026/1/17 20:48:00 网站建设

珠海建站服务网站建设销售人才简历

SDXL-ControlNet Canny边缘控制模型:从入门到精通的完整指南 【免费下载链接】controlnet-canny-sdxl-1.0 项目地址: https://ai.gitcode.com/hf_mirrors/diffusers/controlnet-canny-sdxl-1.0 SDXL-ControlNet Canny模型是当前AI图像生成领域的重要技术突破…

张小明 2026/1/19 0:05:21 网站建设

网站导航是做链接赚钱么贵州贵阳网站建设

第一章:Open-AutoGLM安装全流程概览Open-AutoGLM 是一款基于开源大语言模型的自动化代码生成工具,支持多种开发环境部署与集成。为确保用户能够顺利搭建运行环境,本文提供从依赖配置到服务启动的完整安装流程。环境准备 在开始安装前&#xf…

张小明 2026/1/17 20:48:02 网站建设