AWS上面部署一台jenkins

问题

客户预算有限,需要在aws云上面搞一台EC2手动安装jenkins发版。

步骤

创建密钥对

在EC2服务里面创建密钥对,具体如下图:
密钥对
设置密钥对,如下图:
密钥对设置
保存好这个私钥文件,以便后续用这个私钥文件ssh登录jenkins的EC2机器。

创建IAM用户(可选)

这个步骤,主要是给Jenkins准备一个能够自动启动和停止EC2实例来动态跑Jenkins任务的用户。我们的客户预算有限,不会让我们干这个,故我们可以跳过这个步骤。😊
找到AWS的IAM服务,创建jenkins用户。在创建用户之前,我们先创建一个自定义策略,具体操作如下图:
IAM策略
创建jenkins自定义用户策略,具体如下图:
自定义jenkins策略
自定义jenkins策略,内容如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1312295543082",
            "Action": [
                "ec2:DescribeSpotInstanceRequests",
                "ec2:CancelSpotInstanceRequests",
                "ec2:GetConsoleOutput",
                "ec2:RequestSpotInstances",
                "ec2:RunInstances",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:TerminateInstances",
                "ec2:CreateTags",
                "ec2:DeleteTags",
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeRegions",
                "ec2:DescribeImages",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "iam:ListInstanceProfilesForRole",
                "iam:PassRole",
                "ec2:GetPasswordData"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

创建自定义策略,如下:
创建自定义jenkins策略
自定义jenkins策略创建完成后,我们就可以开始创建一个jenkins用户了。具体如下图:
创建jenkins用户入口web页面
设置用户名为jenkins,如下图:
设置jenkins用户名
设置jenkins用户的权限为上述创建的自定义jenkins策略,如下图:
设置jenkins权限
创建jenkins用户,如下图:
创建jenkins用户

创建ec2安全组

我们为jenkins服务器创建一个开放8080端口的安全组。创建入口,如下图:
ec2安全组创建入口
开始创建安全组,具体如下图:

创建安全组
这里主要设置访问ssh端口和访问jenkins的8080端口。

准备EC2实例

找到EC2实例创建入口,如下图:
EC2实例创建入口
具体EC2设置,如下图:
EC2设置
等待一段时间后,EC2实例就创建好了。

SSH私钥文件登录

# 调整本地文件权限
chmod 400 "jenkins.pem"
# 登录
ssh -i "jenkins.pem" ec2-user@ec2-xx-xxx-xxx-xx.compute-1.amazonaws.com

安装jenkins

# 更新OS
sudo yum update -y
# 设置yum源
sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo
# 导入公钥
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
# 升级包
sudo yum upgrade
# 安装java
sudo dnf install java-17-amazon-corretto -y
# 安装jenkins
sudo yum install jenkins -y
# 配置随机启动
sudo systemctl enable jenkins
# 启动jenkins
sudo systemctl start jenkins
# 查看启动状态
sudo systemctl status jenkins

配置jenkins

启动jenkins成功后,打开web页面,具体地址为http://你的EC2公网ip:8080,打开后,可以看到如下页面:
安装入门首页
查看管理员初始化密码,具体命令如下:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

输入密码后,选择点击安装推荐的插件,如下图:
安装推荐的插件
等待一段时间,安装好后,我们开始创建第一个管理用户和密码,具体如下:
设置管理员
创建admin用户完成后,到此jenkins就安装好了。

具体效果如下:
jenkins安装效果

总结

jenkins安装还是挺简单的,后续,在这个上面搞CI/CD就行了。官网文档比较全面。

参考:

  • Jenkins on AWS

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/514254.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RisingWave 在品高股份 Bingo IAM 中的应用

背景介绍 公司背景 品高股份,是国内专业的云计算及行业信息化服务提供商。公司成立于 2003 年,总部位于广州,下设多家子公司和分公司,目前员工总数近 900 人,其中 80 %以上是专业技术人员。 品高股份在 2008 年便开…

25.11 MySQL 视图

1. 常见的数据库对象 对象描述表(TABLE)存储数据的逻辑单元, 以行和列的形式存在, 列就是字段, 行就是记录.数据字典系统表, 存放数据库相关信息的表. 数据通常由数据库系统维护, 程序员通常不可修改, 只可查看.约束(CONSTRAINT)执行数据校验的规则, 用于保证数据完整性的规则…

JMeter+Grafana+influxdb 配置出现transaction无数据情况解决办法

JMeterGrafanainfluxdb 配置出现transaction无数据情况解决办法 一、问题描述二、解决方法 一、问题描述 如下图所示出现application有数据但是transaction无数据情况 二、解决方法 需要做如下设置 打开变量设置如下图打开两个选项 然后再进行后端监听器的设置 如下图所…

AR/VR技术对制造业劳动力危机的影响

借助 AR/VR 的力量缩小现代制造业的技能差距 数字化转型仍然是企业的首要任务,其许多方面都需要人工干预。然而,推动此类举措所需的技术工人日益短缺。这就造成了我们所说的“制造业劳动力危机”。 制造业应当如何: 制造业用工危机正在影响…

基于单片机的汽车自动预警刹车系统汇编

**单片机设计介绍,基于单片机的汽车自动预警刹车系统汇编 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的汽车自动预警刹车系统汇编概要主要描述了通过单片机技术实现汽车自动预警和刹车控制的系统设计和…

Tinymce富文本编辑器二次开发电子病历时解决的bug

前言 本文是在Tinymce富文本编辑器添加自定义toolbar,二级菜单,自定义表单,签名的基础之上进行一些bug记录,功能添加,以及模版的应用和打印 项目描述 建立电子病历模版—录入(电子病历模版和电子病历打印…

微信小程序使用icon图标

原因: 微信小程序使用fontawesome库使用icon图标,网上有很多教程,按照网上说法制作,引入到微信小程序中,但是验证成功,只能使用部分图标,结果不尽如人意。后面使用阿里巴巴开源iconfont来使用ic…

【.NET全栈】ZedGraph图表库的介绍和应用

文章目录 一、ZedGraph介绍ZedGraph的特点ZedGraph的缺点使用注意事项 二、ZedGraph官网三、ZedGraph的应用四、ZedGraph的高端应用五、、总结 一、ZedGraph介绍 ZedGraph 是一个用于绘制图表和图形的开源.NET图表库。它提供了丰富的功能和灵活性,可以用于创建各种…

R语言数据挖掘:随机森林(1)

数据集heart_learning.csv与heart_test.csv是关于心脏病的数据集,heart_learning.csv是训练数据集,heart_test.csv是测试数据集。要求:target和target2为因变量,其他诸变量为自变量。用决策树模型对target和target2做预测&#xf…

使用Java拓展本地开源大模型的网络搜索问答能力

背景 开源大模型通常不具备最新语料的问答能力。因此需要外部插件的拓展,目前主流的langChain框架已经集成了网络搜索的能力。但是作为一个倔强的Java程序员,还是想要用Java去实现。 注册SerpAPI Serpapi 提供了多种搜索引擎的搜索API接口。 访问 Ser…

Unity性能优化篇(十四) 其他优化细节以及UPR优化分析器

代码优化: 1. 使用AssetBundle作为资源加载方案。 而且经常一起使用的资源可以打在同一个AssetBundle包中。尽量避免同一个资源被打包进多个AB包中。压缩方式尽量使用LZ4,少用或不要用LZMA的压缩方式。如果确定后续开发不会升级Unity版本,则可…

微服务相关之Nacos

微服务相关之Nacos 一、基础概念1.什么是 Nacos2.Nacos 的关键特性包括3.Nacos 核心组件4.Nacos 业务大图 二、架构设计1.基本架构及概念 三、Nacos注册中心1.注册中心演变及其设计思想2.Nacos注册中心架构3.服务注册表结构 一、基础概念 1.什么是 Nacos Nacos /nɑ:kəʊs/ …

vlookup跨表使用

VLOOKUP(查找值,数据表,列序数,匹配条件)。打开两表格,输入查找值和表格数据格式一致,查找表格或数据范围是连续的。 跨表VLOOKUP使用步骤: 插函数单元格,输“VLOOKUP()…

AI学习-线性回归推导

线性回归 1.简单线性回归2.多元线性回归3.相关概念熟悉4.损失函数推导5.MSE损失函数 1.简单线性回归 ​ 线性回归:有监督机器学习下一种算法思想。用于预测一个或多个连续型目标变量y与数值型自变量x之间的关系,自变量x可以是连续、离散,但是目标变量y必…

【图】最小生成数—Kruskal算法

目录 1. 什么是最小生成树? 2. Kruskal算法 1. 什么是最小生成树? 最小生成树(Minimum Spanning Tree,简称 MST)是指在一个连通的无向图中,找到一个包含所有顶点的树,并且边的权值之和最小。…

简单的安全密码生成器PwGen

什么是 PwGen ? PwGen 是一个简单的 Docker Web 应用程序,旨在生成具有可自定义选项的安全密码或密码短语。用户可以选择生成具有特定标准的随机密码或由随机单词组成的密码。其他功能包括在密码中包含大写字母、数字和特殊字符的选项,或者将…

边缘计算盒子与云计算:谁更适合您的业务需求?

边缘计算盒子和云计算,这两个概念听起来可能有点复杂,但其实它们就是两种不同的数据处理方式。那谁更适合您的业务需求呢?咱们来详细说说。 边缘计算盒子,就像是个小型的数据处理中心,放在离你业务现场比较近的地方。它…

解决Flutter应用在苹果商店上架中常见的问题与挑战

引言 Flutter是一款由Google推出的跨平台移动应用开发框架,其强大的性能和流畅的用户体验使其备受开发者青睐。然而,开发一款应用只是第一步,将其成功上架到苹果商店才是实现商业目标的关键一步。本文将详细介绍如何使用Flutter将应用程序上…

【Unity每日一记】(Canvas的相机渲染模式) 如何将模型显示在UI之前

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

CSS——精灵图

CSS——精灵图 目录 CSS——精灵图什么是精灵图?导入精灵图裁剪精灵图使用精灵图方式1方式2 什么是精灵图? 精灵图(Spritesheet)是指将多个小图标、图像或动画合并到一个大图像中的技术。在网页设计和游戏开发中,精灵…