云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

_怎么设置服务器_12月免费

小七 141 0

在Jenkins中使用amazonec2容器服务

Jenkins Amazon EC2容器服务PluginAmazon EC2 Container Service(ECS)是AWS针对Docker容器编排的服务,它允许您在集群上部署基于Docker的应用程序。Jenkins Amazon EC2容器服务插件允许您使用Amazon ECS容器服务来管理Jenkins云从属服务器。Jenkins将执行构建在基于Docker的slave上的编排委托给Amazon ECS。每个Jenkins构建都在一个专用的Docker容器上执行,该容器在构建结束时被清除。ECS集群由amazonec2虚拟机组成,这些虚拟机在用户帐户的边界内实例化(通常在Amazon VPC中)。这些虚拟机可以静态声明,也可以由AWS ECS动态管理,这要归功于AWS自动伸缩和AWS CloudFormation。后来的詹金斯奴隶通过JNLP与詹金斯主人相连协议。安装Jenkins Amazon EC2容器服务插件导航到"插件管理器"屏幕,安装"Amazon EC2容器服务"插件并重新启动詹金斯。配置Jenkins和AWSAmazon ECS Cluster作为先决条件,您必须创建一个与Amazon云服务器关联的云服务器实例。这些实例可以静态地与ECS集群关联,也可以使用Amazon自动伸缩功能动态创建。Jenkins amazonec2容器服务插件将使用这个ECS集群并自动创建所需的任务定义。詹金斯系统配置导航至"配置系统"屏幕。在"Jenkins Location"部分,确保"Jenkins URL"可以从amazonecs集群的容器实例访问。有关详细信息,请参阅"网络和防火墙"一节。在屏幕底部,点击"Addanewcloud"并选择"amazonec2容器服务云"。amazonec2容器服务云,然后输入amazonec2容器服务的配置细节云:名称:您的ECS云(例如ECS云)的名称Amazon ECS凭据:Amazon IAM访问密钥,具有创建任务定义和所需任务的权限ECS clusterECS Cluster:Jenkins将在其上发送构建版本的ECS tasksECS模板:点击"添加"按钮,创建所需的ECS模板或模板高级配置隧道连接方式:tunnelling options(当Jenkins运行在负载平衡器之后时…),可以定义一个或多个ECS从模板对于amazonec2容器服务云。创建多个ECS从模板的主要原因是使用多个Docker镜像进行构建(如java build tools、php build tools…)Label:与作业级配置"Restrict where The project can be run/Label expression"结合使用的从标签。ECS slave标签可以标识从机使用的Docker镜像(例如jenkinsci/jnlp slave的Docker镜像),Docker image:创建slaves的Docker镜像的标识符filesystem root:Jenkins使用的工作目录(例如/home/Jenkins/)。Memory:为容器保留的内存MiB数。如果您的容器试图超过此处分配的内存,则容器将杀了。那个要为容器保留的cpu单元数。一个容器实例每个cpu有1024个cpu单元核心。高级ConfigurationOverride入口点:覆盖Docker映像入口点。无法重写容器命令,因为它用于传递jenkins从连接参数.JVM参数:JVM的附加参数,例如-XX:MaxPermSize或GC选项。网络在同一个Amazon专有网络和同一子网中运行Jenkins master和ECS容器实例是最简单的设置和默认设置-防火墙箱在Jenkins master和ECS集群容器实例之间启用网络限制,在"管理Jenkins/Configure Global Security"屏幕中导航的Jenkins master的JNLP slaves的TCP侦听端口(如5000)允许从ECS集群容器实例到Jenkins主服务器的JNLP从机的TCP侦听端口(见上文)和HTTP端口。网络地址转换与反向代理ECS集群容器实例与Jenkins主机之间的网络地址转换规则,确保JNLP从机将使用正确的主机名连接到在上执行的Jenkins主机以下内容:定义定义系统属性的Jenkins主机名的正确名称hudson.TcpSlaveAgentListener启动时的主机名命令在Jenkins Amazon EC2容器服务云的配置中使用高级配置选项"Tunnel connection through"(参见上文)。使用ECS slaves,ECS从属服务器可用于任何作业和任何类型的作业(自由式作业、Maven作业、工作流作业…),您只需限制作业在其中一个标签上的执行即可用于ECS从模板配置。带有一个名为docker的标签的示例:在执行的构建的控制台输出中,您可以通过检查由ECS云名称和随机组成的slave名称,验证是否在ECS集群上进行了构建标识符。Docker镜像为ECS SlavesThe Jenkins Amazon EC2容器服务云可以为从机使用所有Docker镜像,设计成一个Jenkins JNLP slave。以下是兼容Docker的列表图片:jenkinsci/jnlp slave:Jenkins CI官方镜像运行基于Docker的JNLP slavescloudbees/JNLP slave,使用java构建工具:CloudBees设计的Docker映像,使用方便的工具来构建java应用程序(openjdk8、maven、selenium、firefox,awscli…)您可以轻松地扩展其中一个映像来添加工具,也可以创建自己的Docker图像。西里尔Le Clerc CloudBees产品管理总监