- DevOps for Serverless Applications
- Shashikant Bangera
- 342字
- 2021-07-16 17:35:37
Setting up Jenkins for a serverless application
Assuming that we already have Jenkins up and running, we need to install Node.js, and then we need to install Mocha on the Jenkins server for unit testing. After this, we need to install a serverless framework. You can use the Dockerfile (https://github.com/shzshi/aws-lambda-dynamodb-mytasks/blob/master/Dockerfile) from the aforementioned GitHub repository for Jenkins and serverless frameworks. If you are using Docker, you don't need to follow the steps for installing Node.js on Jenkins.
Go through the following steps to install Node.js on the Jenkins node:
$ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
$ sudo apt-get install -y nodejs
$ sudo npm install -g serverless
Then go to the browser and open the Jenkins home page. Click on the New item link. This will open a new page, that will allow you to create a job with a name of your choosing. Select Freestyle project, which is the default selection, and click OK to go ahead, as shown in the following screenshot:

Now, we need to integrate Git source code with Jenkins and then build, deploy, and test our serverless application. First, let's add the Git repository to the Jenkins job, as shown in the following screenshot:

We need to parameterize the build to add AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, as shown in the following screenshot. We will get AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY after we create an IAM user for the Serverless Framework to work:

Now go to Build |Add build step | Execute shell | Execute build step | Add build step from the drop-down menu, which will open Command Prompt, where we will add the command that we need to run, as shown in the following screenshot:

Once the build is successful, we will have successfully deployed the application to the AWS S3 bucket that was created by Serverless Framework. We will also have exposed the API and the functions, allowing them to be used by the application to perform CRUD functions, as shown in the following screenshot:

- 從零開始寫Linux內核:一書學透核心原理與實現
- 混沌工程:復雜系統韌性實現之道
- Ceph分布式存儲實戰
- Django Project Blueprints
- 寫給架構師的Linux實踐:設計并實現基于Linux的IT解決方案
- Cassandra 3.x High Availability(Second Edition)
- Red Hat Enterprise Linux 6.4網絡操作系統詳解
- CSS揭秘
- 辦公自動化教程(Windows7+Office2010)
- Learning Joomla! 3 Extension Development(Third Edition)
- 分布式實時處理系統:原理、架構與實現
- Instant Getting Started with VMware Fusion
- Raspberry Pi Networking Cookbook
- 不可不知的Windows技巧
- OpenWrt智能路由系統開發