AWS上面部署一台jenkins

问题

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

步骤

创建密钥对

在EC2服务里面创建密钥对,具体如下图:

设置密钥对,如下图:

保存好这个私钥文件,以便后续用这个私钥文件ssh登录jenkins的EC2机器。

创建IAM用户(可选)

这个步骤,主要是给Jenkins准备一个能够自动启动和停止EC2实例来动态跑Jenkins任务的用户。我们的客户预算有限,不会让我们干这个,故我们可以跳过这个步骤。😊

找到AWS的IAM服务,创建jenkins用户。在创建用户之前,我们先创建一个自定义策略,具体操作如下图:

创建jenkins自定义用户策略,具体如下图:

自定义jenkins策略,内容如下:

json 复制代码
{
    "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用户的权限为上述创建的自定义jenkins策略,如下图:

创建jenkins用户,如下图:

创建ec2安全组

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

开始创建安全组,具体如下图:

这里主要设置访问ssh端口和访问jenkins的8080端口。

准备EC2实例

找到EC2实例创建入口,如下图:

具体EC2设置,如下图:

等待一段时间后,EC2实例就创建好了。

SSH私钥文件登录

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

安装jenkins

bash 复制代码
# 更新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,打开后,可以看到如下页面:

查看管理员初始化密码,具体命令如下:

bash 复制代码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

输入密码后,选择点击安装推荐的插件,如下图:

等待一段时间,安装好后,我们开始创建第一个管理用户和密码,具体如下:

创建admin用户完成后,到此jenkins就安装好了。

具体效果如下:

总结

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

参考:

相关推荐
TG_yunshuguoji4 小时前
亚马逊云代理商:如何监控AWS RDS使用率并设置报警?
运维·云计算·aws
优秀的颜8 小时前
Elasticsearch(7.x)集成
大数据·elasticsearch·jenkins
何以不说话9 小时前
CICD服务器jenkins
运维·jenkins
翼龙云_cloud10 小时前
亚马逊云代理商:如何在 AWS 控制台上手动重启主实例?
服务器·云计算·aws
没有bug.的程序员10 小时前
云服务成本优化深度进阶:AWS/Aliyun 资源监控内核、自动伸缩物理建模与 FinOps 降本实战指南
云计算·aws·finops·aliyun·自动伸缩·资源监控·物理建模
海兰2 天前
Elasticsearch Java 客户端(9.x)
java·elasticsearch·jenkins
海兰2 天前
Elasticsearch 9.x Java 异步客户端
java·elasticsearch·jenkins
Elastic 中国社区官方博客2 天前
推出 Elastic Serverless Plus 附加组件,支持 AWS PrivateLink 功能
大数据·elasticsearch·搜索引擎·云原生·serverless·全文检索·aws
百锦再3 天前
Jenkins 全面精通指南:从入门到脚本大师
运维·后端·python·servlet·django·flask·jenkins
隔壁老王的代码3 天前
Jenkins的流水线详解
运维·servlet·jenkins