使用jenkins管道部署您的react,nodejs应用程序
#编程 #发展 #node #jenkins

ð当我们从事名为NoMise的开源项目时,该项目是使用ReactJ,TypeScript和TailWindCSS构建的。在部署方面,我们有几个选择: -

  • 使用诸如Vercel或Netlify这样的提供商必须拖放代码存储库等提供程序
  • 将代码部署在Docker容器中,然后在云服务器中运行该容器
  • 设置CI/CD(Continuos集成,Continuos交付)管道以部署您的应用

您会选择哪一个?

CI/CD Pipeline meme

ð显然,由于其好处,应该排名第三。设置了部署管道后,您就无需一次又一次地构建,部署到容器和主机。单击一键,您的代码将构建,在Docker容器中进行容器并部署到云(在我们的情况下为AWS EC2实例)。

- 如果您还没有理解,请放心,我们会逐步进行。

ð引言

首先,我们在上面谈论的jenkins,CI/CD管道和EC2实例是什么。

  • Jenkins是一种工具,可以通过部署和运行一些自动测试(例如手动部署)使我们的生活更轻松,您首先需要运行

    npm run build

    然后复制构建文件夹,然后将其放置在服务器上。可以通过詹金斯提供的一组动作来完成。

  • ci/cd管道是Continuos Integration和Continuos交付,这意味着可以直接从存储库中选择代码,并且在进行了一些测试后,它将部署在服务器上

  • ec2最终不过是一台计算机,它作为服务器提供给您,我们可以将脚本运行并运行脚本,代码等。

AWS meme

注意: - 那些认为AWS已付款的人,是的,但是有免费的层,您可以探索很多东西。

ð启动AWS EC2实例

  1. 转到AWS并注册您的新帐户,并添加借记卡/信用卡。为了安全性,如果您不想花费自由限制,请以最小的余额。

  2. 搜索EC2并启动实例

AWS Instances

  1. 选择默认设置并启动3个实例,因为
  2. 我们将使用一个安装Jenkins
  3. 第二,我们将安装Ansible服务器,该服务器将在SSH
  4. 上将我们从Jenkins获取的构建代码
  5. 第三个实例将运行一个Docker容器,该容器将用于公众访问

AWS Instances

注意: - 写三个启动3个实例

  1. 现在,我们将在我们的实例中添加一些安全规则,因为要访问这些实例/服务器,将提出一些请求或SSH。因此,它将不允许每个即将访问它们的请求。

  2. 要添加安全规则,请单击安全组并编辑入站规则: -

Security groups

  • 添加这些规则 Security inbound rules

注意: - 允许任何流量不好,但可以测试它是可以的。

  1. 现在是时候让您的实例了。但是,在进入EC2实例之前,请确保您拥有密钥对(.pem文件)。要下载PEM文件以下图片: -

AWS EC2 Pem file

  1. 我将PEM文件保存在我的〜/.ssh文件夹中。现在,要进入特定实例,请单击“连接”,您将获得此窗口

AWS EC2 Connect SSH

注意: - 确保您提供了保存在上一步中的.pem文件的正确路径,并且您也使用CHMOD更改了其访问权限,如图所示。

  1. 现在,类似地,您可以使用ssh。
  2. 连接到所有实例

ð设置Jenkins,Docker和Ansible Server

现在是时候使用Ansible Server和Docker Server设置Jenkins管道了。

注意: - 确保在不做任何事情时停止实例(如果您使用AWS免费层)

Instances Running

  1. 让我们进入我们的第一个实例(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
  1. 之后,您将使Jenkins在Localhost上运行。转到AWS上的实例,在实例主页上找到您的公共IPv4地址,然后访问http://:8080,詹金斯的下面屏幕将出现

Jenkins

  • 在您的终端中输入此命令以获取输入詹金斯的密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

ð¥³这就是詹金斯的开始。


就是这样,今天,下一个部分,我们将看到如何构建Docker容器并通过Jenkins部署。

- 对于下一个博客,请立即关注