Created
July 23, 2024 07:29
-
-
Save badgeek/b21678b2bc09349a79bf3011759b1b35 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| FROM cypress/base | |
| COPY . /opt/app | |
| WORKDIR /opt/app | |
| RUN npx cypress install # Install Cypress binary into image | |
| COPY . . | |
| ENTRYPOINT ["npx", "cypress", "run"] |
run-todo-test:
pnpm run run-todo-test
run-actions-test:
pnpm run run-actions-test
run-aliasing-test:
pnpm run run-aliasing-test
run-assertions-test:
pnpm run run-assertions-test
run-connectors-test:
pnpm run run-connectors-test
run-cookies-test:
pnpm run run-cookies-test
run-cypress-api-test:
pnpm run run-cypress-api-test
run-files-test:
pnpm run run-files-test
run-location-test:
pnpm run run-location-test
run-misc-test:
pnpm run run-misc-test
run-navigation-test:
pnpm run run-navigation-test
run-network-requests-test:
pnpm run run-network-requests-test
run-querying-test:
pnpm run run-querying-test
run-spies-stubs-clocks-test:
pnpm run run-spies-stubs-clocks-test
run-storage-test:
pnpm run run-storage-test
run-traversal-test:
pnpm run run-traversal-test
run-utilities-test:
pnpm run run-utilities-test
run-viewport-test:
pnpm run run-viewport-test
run-waiting-test:
pnpm run run-waiting-test
run-window-test:
pnpm run run-window-test
run-all-tests:
pnpm run run-todo-test
pnpm run run-actions-test
pnpm run run-aliasing-test
pnpm run run-assertions-test
pnpm run run-connectors-test
pnpm run run-cookies-test
pnpm run run-cypress-api-test
pnpm run run-files-test
pnpm run run-location-test
pnpm run run-misc-test
pnpm run run-navigation-test
pnpm run run-network-requests-test
pnpm run run-querying-test
pnpm run run-spies-stubs-clocks-test
pnpm run run-storage-test
pnpm run run-traversal-test
pnpm run run-utilities-test
pnpm run run-viewport-test
pnpm run run-waiting-test
pnpm run run-window-test
help:
@echo "Available tests:"
@echo " run-todo-test"
@echo " run-actions-test"
@echo " run-aliasing-test"
@echo " run-assertions-test"
@echo " run-connectors-test"
@echo " run-cookies-test"
@echo " run-cypress-api-test"
@echo " run-files-test"
@echo " run-location-test"
@echo " run-misc-test"
@echo " run-navigation-test"
@echo " run-network-requests-test"
@echo " run-querying-test"
@echo " run-spies-stubs-clocks-test"
@echo " run-storage-test"
@echo " run-traversal-test"
@echo " run-utilities-test"
@echo " run-viewport-test"
@echo " run-waiting-test"
@echo " run-window-test"
@echo " run-all-tests"
build-docker:
docker build -t cypress-test .
run-cypress-tests:
@echo "Running Cypress tests..."
docker run --rm -v $(PWD):/app cypress npx cypress run
To execute Docker commands inside a Jenkins Docker container, you need to set up Docker-in-Docker (DinD) or Docker-outside-of-Docker (DooD). Here's a concise guide for the DooD approach, which is generally recommended:
- Modify your Jenkins Docker run command:
docker run -d --name jenkins \
-p 8080:8080 -p 50000:50000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts- Install Docker CLI in Jenkins container:
# Access the Jenkins container
docker exec -it jenkins bash
# Install Docker CLI
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
# Add jenkins user to docker group
usermod -aG docker jenkins
# Exit the container
exit
# Restart Jenkins container
docker restart jenkins- In your Jenkins pipeline, you can now use Docker commands:
pipeline {
agent any
stages {
stage('Docker Test') {
steps {
sh 'docker --version'
sh 'docker ps'
}
}
}
}Remember to grant necessary permissions to the /var/run/docker.sock file on the host system if you encounter permission issues.
install-jenkins:
@echo "Running Jenkins Docker container..."
docker run -d --name jenkins \
-p 8080:8080 -p 50000:50000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
install-docker-cli:
@echo "Installing Docker CLI in Jenkins container..."
# Access the Jenkins container
docker exec -it -u root jenkins bash -c "\
curl -fsSL https://get.docker.com -o get-docker.sh && \
sh get-docker.sh && \
usermod -aG docker jenkins && \
exit"
restart-jenkins:
@echo "Restarting Jenkins container..."
docker restart jenkins
delete-jenkins:
@echo "Deleting Jenkins container..."
docker rm -f jenkins
fix-permission:
@echo "Fixing permissions for Docker socket..."
docker exec -it -u root jenkins bash -c "\
chmod 666 /var/run/docker.sock && \
exit"
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
run-cypress-tests:
@echo "Running Cypress tests..."
docker run --rm -v $(PWD):/app cypress npx cypress run