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就行了。官网文档比较全面。

参考:

相关推荐
Elastic 中国社区官方博客14 天前
Elastic 公共 roadmap 在此
大数据·elasticsearch·ai·云原生·serverless·全文检索·aws
海兰14 天前
Jina Embeddings V5 Text + Elasticsearch 9.x 本地部署指南
elasticsearch·jenkins·jina
luod14 天前
Docker 快速安装Jenkins
java·docker·jenkins
小道仙9714 天前
jenkins对接、jenkins-rest
java·servlet·jenkins·jenkins-rest
成为你的宁宁14 天前
Jenkins 自动化部署前后端分离若依项目全攻略:涵盖环境配置、Maven/Node.js 工具安装、GitLab 项目协同,及前后端构建、服务器推送与代码更新验证全步骤
node.js·自动化·gitlab·jenkins·maven
声声长乐14 天前
Jenkins + Docker 完整部署指南
ubuntu·docker·jenkins
古斯塔夫歼星炮14 天前
Dify + Jenkins 实现AI应用持续集成与自动化部署
ci/cd·jenkins·dify
TG_yunshuguoji14 天前
亚马逊云代理商:AWS 国际站缺卡新用户创建邮箱怎么选择?
安全·云计算·aws
TG_yunshuguoji14 天前
亚马逊云代理商:如何监控AWS RDS使用率并设置报警?
运维·云计算·aws
优秀的颜14 天前
Elasticsearch(7.x)集成
大数据·elasticsearch·jenkins