Ik heb een C programmatje gemaakt adv deze 'tutorial' http://forum.webfaction.com/viewtopic.php?pid=216#p216 om er voor te zorgen dat na iedere commit de files uit de repository automatisch worden gedeployed naar mijn JBoss deploy map.
dit staat er in mijn post-commit in de /hook map van de repository:
test > /home/project/repository/hooks/test.txt heb ik er in gezet om te kijken of het post-commit script uberhaupt wel wordt aangeroepen, dit is het geval want test.txt wordt aangemaakt. Echter het automatisch deployen wat in /bin/svn_update gebeurt werkt niet. Als ik los ./postcommit of /bin/svn_update dan doet hij het wel, alleen svn gaat via apache en ik vermoed dat er iets niet goed met de rechten gaat.
Uit wanhoop heb ik al chmod 777 op /home/project gedaan, maar dat werkt ook niet.
Ik draai geen SElinux.
Dit is het /bin/svn_update bestandje:
dan nog de rechten:
Iemand een idee wat het kan zijn? Als ik het dus handmatig run met zowel root of project als user dan werkt alles, alleen als ik een commit doe op een workstation doet de /bin/svn_update het niet.
Alvast bedankt
dit staat er in mijn post-commit in de /hook map van de repository:
code:
1
2
3
4
| #!/bin/sh /bin/svn_update test > /home/project/repository/hooks/test.txt |
test > /home/project/repository/hooks/test.txt heb ik er in gezet om te kijken of het post-commit script uberhaupt wel wordt aangeroepen, dit is het geval want test.txt wordt aangemaakt. Echter het automatisch deployen wat in /bin/svn_update gebeurt werkt niet. Als ik los ./postcommit of /bin/svn_update dan doet hij het wel, alleen svn gaat via apache en ik vermoed dat er iets niet goed met de rechten gaat.
Uit wanhoop heb ik al chmod 777 op /home/project gedaan, maar dat werkt ook niet.
Ik draai geen SElinux.
Dit is het /bin/svn_update bestandje:
code:
1
2
3
4
5
6
7
8
9
| #include <stddef.h>
#include <stdlib.h>
#include <unistd.h>
int main(void) {
execl("/usr/bin/svn", "svn", "update", "/home/project/jboss-4.0.5.GA/server/default/deploy/",
(const char *) NULL);
return(EXIT_FAILURE);
} |
dan nog de rechten:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| [root@linux-server hooks]# ls -l total 36 -rwxrwxr-x 1 apache apache 74 Nov 28 20:46 post-commit -rwxrwxrwx 1 apache apache 1638 Nov 28 16:33 post-lock.tmpl -rwxrwxrwx 1 apache apache 2255 Nov 28 16:33 post-revprop-change.tmpl -rwxrwxrwx 1 apache apache 1567 Nov 28 16:33 post-unlock.tmpl -rwxrwxrwx 1 apache apache 2934 Nov 28 16:33 pre-commit.tmpl -rwxrwxrwx 1 apache apache 2038 Nov 28 16:33 pre-lock.tmpl -rwxrwxrwx 1 apache apache 2764 Nov 28 16:33 pre-revprop-change.tmpl -rwxrwxrwx 1 apache apache 1979 Nov 28 16:33 pre-unlock.tmpl -rwxrwxrwx 1 apache apache 2137 Nov 28 16:33 start-commit.tmpl -rw-r--r-- 1 apache apache 0 Nov 28 20:50 test.txt |
code:
1
2
3
| [root@linux-server bin]# ls -l | grep svn_update -rwsr-sr-x 1 root root 4776 Nov 28 20:24 svn_update -rw-r--r-- 1 root root 230 Nov 28 20:24 svn_update.c |
Iemand een idee wat het kan zijn? Als ik het dus handmatig run met zowel root of project als user dan werkt alles, alleen als ik een commit doe op een workstation doet de /bin/svn_update het niet.
Alvast bedankt