0

I have .gitlab-ci.yml configuration with:

deploy-integration:
  stage: deploy
  script:
    - cp target/example.war /var/webapps
    - service tomcat7 restart

But execution wasn't successful because of:

$ service tomcat7 restart
You need root privileges to run this script
ERROR: Build failed: exit status 1

What's the best way to restart tomcat with gitlab-runner? I want give permission to gitlab-runner just for this one command.

Justas
  • 221
  • 1
  • 6
  • 12

1 Answers1

2

You can add gitlab-runner user to sudoers file:

sudo nano /etc/sudoers

to execute the specific command without asking for a password:

gitlab-runner ALL=(ALL) NOPASSWD: /usr/sbin/service tomcat7 restart
Justas
  • 221
  • 1
  • 6
  • 12
Khaled
  • 36,533
  • 8
  • 72
  • 99
  • Also changed from "- service tomcat7 restart" to "- sudo service tomcat7 restart" in .gitlab-ci.yml – Justas Mar 20 '17 at 15:06