自动化部署

自动化部署,第1张

使用Docker+Jenkins自动构建部署

本文主要介绍应用DockerJenkins实现全自动构建和部署。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。

介绍DockerJenkins的自动构建部署,分享给大家。实际上是这样的:

自然环境

  • 阿里云服务器ESC,主机网络服务器安装Docker,安全标准中确定开放8080端口号。
  • 客户端mac
  • 跑詹金斯

    运行詹金斯器皿

    在服务器上建立文件目录,并添加读写管理权限,方便jenkins使用运行时读写文件,例如:

    $mkdir-p/var/jenkins_node $chmod777/var/jenkins_node

    获取詹金斯镜像系统:docker拉詹金斯,今天是2.60.3版本。并运行:

    dockerrun-d--namemyjenkins-p8080:8080-p50000:50000-v<your_jenkins_path>:/var/jenkins_homejenkins

    将以前的文件目录初始化为数据信息卷。<your_jenkins>要更改目标目录,路径必须是相对路径。
    等待几十秒,查看jenkins_node文件目录,确定是否有jenkins形成的文档。
    根据http://you_host:8080登录查询。如果出现入门页面。

    设置帐户和SSH登录

    在入门页面上,需要原始登录密码UnlockJenkins。
    登录密码将根据网页提示在输出终端设备或船只的jenkins_home中搜索。
    这样你就可以

    dockerlogsmyjenkins #或是进到器皿 dockerexec-tmyjenkins/bin/bash

    有一个登录密码,键入它,并安装拟议的软件。
    完成后,根据提醒设置您的登录帐户。

    安装通过SSH发布软件

    首页->:点击管理信息系统->:管理软件->:可选软件->:省心:ssh->:选择PublishOverSSH软件,点击立即安装。

    设置网络服务器的SSH信息内容

    rsa密钥首先在容器中形成:

    #从宿主机顾客进到器皿,现阶段器皿名myjenkins,也可根据dockerps查询 $dockerexec-itmyjenkins/bin/bash #进到器皿后创建.ssh文件目录,建立密匙文档公钥id_rsa,公匙id_rsa.pub ~mkdir~/.ssh&&cd~/.ssh ~ssh-keygen-trsa #一直回车键就可以

    将公钥添加到主机
    将id_rsa.pub中的字符串数组添加到authorized_keys文件的末尾,重启ssh服务sudoservicesshrestart
    注意主机是否开启了SSH服务。
    以下说明可应用于船舶终端设备并添加到主机中。您还可以手动将id_rsa.pub复制到。主机的ssh/authorized_keys文件。

    ssh-copy-id-i~/.ssh/id_rsa.pub<username>@<host>

    必须更改整个目标网络服务器的ssh配置文档,环境变量是/etc/ssh/sshd_config。将ssh-server设置为允许通过公钥和公钥对登录,然后使用sudo/etc/init.d/sshrestart指令重新启动ssh服务。

    添加公钥
    jenkins主页,管理信息系统->:系统配置->:下拉,查找PublishoverSSH,填写密钥和SSH服务器->:保存


    高级选项可以配备ssh服务器端口和请求超时。测试可以检测并显示成功配置的信息。

    新项目设备

    首先,创建一个新的日常任务。填写项目计划。
    源代码管理方式为Git,填写ppp项目库的URL。必须为独占的新项目添加Git帐户。


    设置一个自然环境:在构建运行后,选择sendfiles或executecommandsoverssh,选择servers,并添加Exec命令。存储。


    #依据你的新项目必须撰写 sudodockerstop<node>||true\ &&sudodockerrm<node>||true\ &&cd/var/jenkins_node/workspace/<node>\ &&sudodockerbuild--rm--no-cache=true-t<node>-<Dockerfile\ &&sudodockerrun-d--name<node>-p3000:3000-v /var/jenkins_node/workspace/node:/home/project<node>

    如果端口设置为3000,还可以设置-p主机端口号:船只端口号。记得确定服务器端口管理权限是否打开。

    构建

    #依据你的新项目必须撰写 FROMnode RUNmkdir-p/var/www/html/ RUNnpminstall-gyarn WORKDIR/var/www/html EXPOSE3000 CMD["npm","start"]

    PS:NPMinstall-gcnpm-registry=https://registry.NPM.Taobao.org

    回到主页,选择新项目并立即构建它们。成功后可以根据http://you_host:3000端口查看新项目。

    配有webhook

    配备webhook,完成自动部署
    并获取APItonken:首页->:客户端->:今日选定客户->:设置->:点击APITonken项中显示APItoken...


    添加动态密码:返回首页->:新建项目->:配备->:设置触发原理->:选择“打开远程控制设置”-->:将“APIToken”的内容粘贴到“认证动态密码”
    ,登录代码托管服务平台,找到你的新项目,选择管理方式,选择webhook,添加URL,文件格式为http://

    设置jenkins安全设置

    主页->:管理信息系统->:配置全局安全性->;
    授权对策,启用允许匿名读取访问。


    在这里,自动化技术被建立和部署。如果你的消息被推送编码,就会完成自动构建和部署。

    未正确部署搜索

    编码消息推送和webhook问题不大,写案例也不容易失败。
    器物的失效是镜像系统的构建和运行,器物之间的沟通。

  • 影像系统构建:查看jenkins主页->:查询新项目->;最近的历史建造时间-->:查询控制台输出,查询控制面板输出。这里您可以看到哪个步骤失败了。一般来说,向docker守护进程发送构建上下文以前是jenkins指令问题,后来是Dockerfile问题。
  • 镜像系统的 *** 作:如果控制台显示信息,镜像系统建立成功(也可以查询docker镜像),但是 *** 作不成功,或者 *** 作后器皿被收回。如果代码在本地运行良好,通常CMD启动命令不正确,前台接收 *** 作员运行器皿。码头运行名称
  • 关于DockerJenkins全自动构建和部署的应用,本文到此结束。有关DockerJenkins全自动构建和部署的大量信息,请搜索之前的文章或再次访问下面的相关文章。期待你以后的申请!

    欢迎分享,转载请注明来源:内存溢出

    原文地址: https://outofmemory.cn/zz/774566.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-03
    下一篇 2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

    保存