ð当我们从事名为NoMise的开源项目时,该项目是使用ReactJ,TypeScript和TailWindCSS构建的。在部署方面,我们有几个选择: -
- 使用诸如Vercel或Netlify这样的提供商必须拖放代码存储库等提供程序
- 将代码部署在Docker容器中,然后在云服务器中运行该容器
- 设置CI/CD(Continuos集成,Continuos交付)管道以部署您的应用
您会选择哪一个?
ð显然,由于其好处,应该排名第三。设置了部署管道后,您就无需一次又一次地构建,部署到容器和主机。单击一键,您的代码将构建,在Docker容器中进行容器并部署到云(在我们的情况下为AWS EC2实例)。
- 如果您还没有理解,请放心,我们会逐步进行。
ð引言
首先,我们在上面谈论的jenkins,CI/CD管道和EC2实例是什么。
-
Jenkins是一种工具,可以通过部署和运行一些自动测试(例如手动部署)使我们的生活更轻松,您首先需要运行
npm run build
然后复制构建文件夹,然后将其放置在服务器上。可以通过詹金斯提供的一组动作来完成。 -
ci/cd管道是Continuos Integration和Continuos交付,这意味着可以直接从存储库中选择代码,并且在进行了一些测试后,它将部署在服务器上
-
ec2最终不过是一台计算机,它作为服务器提供给您,我们可以将脚本运行并运行脚本,代码等。
注意: - 那些认为AWS已付款的人,是的,但是有免费的层,您可以探索很多东西。
ð启动AWS EC2实例
-
转到AWS并注册您的新帐户,并添加借记卡/信用卡。为了安全性,如果您不想花费自由限制,请以最小的余额。
-
搜索EC2并启动实例
- 选择默认设置并启动3个实例,因为
- 我们将使用一个安装Jenkins
- 第二,我们将安装Ansible服务器,该服务器将在SSH 上将我们从Jenkins获取的构建代码
- 第三个实例将运行一个Docker容器,该容器将用于公众访问
注意: - 写三个启动3个实例
-
现在,我们将在我们的实例中添加一些安全规则,因为要访问这些实例/服务器,将提出一些请求或SSH。因此,它将不允许每个即将访问它们的请求。
-
要添加安全规则,请单击安全组并编辑入站规则: -
- 添加这些规则
注意: - 允许任何流量不好,但可以测试它是可以的。
- 现在是时候让您的实例了。但是,在进入EC2实例之前,请确保您拥有密钥对(.pem文件)。要下载PEM文件以下图片: -
- 我将PEM文件保存在我的〜/.ssh文件夹中。现在,要进入特定实例,请单击“连接”,您将获得此窗口
注意: - 确保您提供了保存在上一步中的.pem文件的正确路径,并且您也使用CHMOD更改了其访问权限,如图所示。
- 现在,类似地,您可以使用ssh。 连接到所有实例
ð设置Jenkins,Docker和Ansible Server
现在是时候使用Ansible Server和Docker Server设置Jenkins管道了。
注意: - 确保在不做任何事情时停止实例(如果您使用AWS免费层)
- 让我们进入我们的第一个实例(Jenkins)。对我来说,要运行的命令是
ssh -i ~/.ssh/nomise_ec2.pem ec2-user@ec2-65-3-155-155.ap-south-1.compute.amazonaws.com
进入EC2实例后,以下命令一一命令: -
sudo yum update –y
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
sudo amazon-linux-extras install java-openjdk11 -y
sudo dnf install java-11-amazon-corretto -y
sudo yum install jenkins -y
sudo systemctl enable jenkins
sudo systemctl status jenkins
- 之后,您将使Jenkins在Localhost上运行。转到AWS上的实例,在实例主页上找到您的公共IPv4地址,然后访问http://:8080,詹金斯的下面屏幕将出现
- 在您的终端中输入此命令以获取输入詹金斯的密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
ð¥³这就是詹金斯的开始。
就是这样,今天,下一个部分,我们将看到如何构建Docker容器并通过Jenkins部署。
- 对于下一个博客,请立即关注