DEV Community

Ekanto
Ekanto

Posted on

Integrate playwright with Jenkins and docker

I will try to demonstrate how I integrated my playwright project with Jenkins and dockerized it. Let's jump into that -

First, open your playwright project and add the Dockerfile to the project's root folder like the image below.
Image description

Now it's time to update the Dockerfile. You can add this to your Dockerfile

FROM node:18-bookworm



WORKDIR /usr/src/app

COPY package*.json ./


COPY . .

RUN npm install \ 
    && npx playwright install-deps  \
    && npx playwright install chromium \
    && npx playwright install firefox 


# Expose the port the app runs on
EXPOSE 8080

# Define the command to run the app
CMD ["npx", "playwright", "test"]
Enter fullscreen mode Exit fullscreen mode

That's a bare minimum but obviously, you can update this according to your preferences. We are done with Docker config. Now, we will integrate our project with Jenkins.

Before integrating our project to Jenkins, we need to configure Jenkins a bit. To do that, go to Manage Jenkins and click on Plugins. Now from the search bar, install the following plugins-

  • NodeJS Plugin
  • CloudBees Docker Build and Publish plugin
  • Docker plugin

When you are done with the installation, go to the home page and click on New item. From the next window, Click on Freestyle project and choose a name for your project. Then, hit Ok. It should look like this -

Image description
Select the option Git from Source Code Management as we will be using Git. And below in the Repository URL, put the link to your GitHub repo or any other source code repository. If your repo is private, use the Credentials option.

Image description
Now from Branches to build, mention the branch that you will be building from. In our case, I will be using my main branch so putting that.

Image description
Now head to the build step. Click on Add build step and select the option Execute shell. Put the following commands there.

npm install 
npx playwright install 
npx playwright test --headed --project=firefox
Enter fullscreen mode Exit fullscreen mode

This will trigger the build process of your playwright project inside Jenkins. You can modify the commands if you want to.

Image description
Now select Add build step ** again and select **Docker build and publish. In the Repository Name, put your docker repo name where you are going to containerize your project.

Image description
When you are done, hit Apply and Save. Now your project is ready to be built and deployed on Docker. Once it's ready, you will see your project is now ready to be built. Click on your project name and hit Build Now.

Image description

Image description
Once it starts building, you can see the status of your current build by clicking here

Image description

Image description

Once done, you will see your newly built docker image is ready for conteinerization.

Top comments (0)