Toon posts:

[svn] commit werkt niet via scheduled task

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als ik een scheduled task in stel dat op een bepaalde tijd een commit gedaan moet worden van mijn website dan loopt de schedule "vast".
Ik heb het al geprobeerd om direct een taak te plannen door het commando en arguments direct in de scheduler in te geven echter dit gaf niks als problemen, ik kreeg steeds de vreemdste errors zoals: cannot find svn, svn is not a command etc etc

Toen heb ik een batch filetje gemaakt welke ik in de root van C heb gezet.
In de bat file heb ik dus het commando svn commit gezet.
Als ik deze bat file handmatig start werkt het prima echter roep ik deze bat file aan via de taakplanner op een vast tijdstip werkt het niet.
De taak draait oneindig totdat na 72 uur deze gekilled wordt door de taakplanner zelf.
Natuurlijk wordt er ook niets in de svn verwerkt.

Het domme ervan is echter dat je dus op de machine zelf niet kan zien WAT er mis gaat, de taak start op de ingestelde tijd maar je ziet dus niets, het wordt blijkbaar volledig op de achtergrond uitgevoerd. Er wordt geen command venster of bat file zichtbaar geopend waar je evebtueel zou kunnen zien wat er aan de hand is. Zoals ik al zei de bat file zelf werkt als je hem handmatig start perfect (geen fouten en de svn wordt bijgewerkt). In de event viewer staat ook helemaal geen melding van een error.

Iemand een idee waar dit aan zou kunnen liggen?

Dit is de bat:
code:
1
2
3
e:
cd path_to_website
svn commit "automated svn"


Svn draait dus op een windows2003 server, de svn zelf werkt als je het dus maar handmatig doet, enkel een scheduled task van de commit wil niet lukken.

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Als eerste vind ik het raar dat je wilt dat je website iets automatisch in je svn duwt, maargoed dat is jouw zaak.
Om te zien of je batch-file gestart wordt kan je heel simpel een "echo hallo > c:\test.txt" uit laten voeren, je ziet dan vanzelf of die file gecreerd is.
Verder klopt je svn commando ook niet, je moet denk ik 'svn commit -m "automated svn" ' hebben.

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Daarnaast denk ik dat je probleem veroorzaakt wordt doordat je PATH niet goed is binnen de batchfile. Kopieer deze eens uit je huidige, werkende environment naar je batchfile?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
@erkens:
Automatisch svn is de wil van mijn baas, de svn is niet publiekelijk toegankelijk maar voor eigen gebruik
Het svn commando klopt, het kan zijn dat ik hem hier niet 100% goed heb gepost (uit mijn hoofd neergezet), de bat file werkt immers als ik die handmatig start.
Als je de echo hallo > c:\test.txt erin zet wordt er gewoon een test.txt in de root van C (waar dus ook de bat file staat) aangemaakt met hallo erin. Echter de rest van de svn werkt niet.
Dit is de svn bat file:
E:
cd E:\website1\httpdocs\
svn commit -m "automated end of day svn"


@spider.007
Zoals ik al zei path is goed omdat als je deze handmatig start (erop dubbelklikt dus) deze wordt uitgevoerd zonder fouten. De werkende enviroment is gewoon de website die ergens staat op het systeem. De svn zelf wordt remote weg geschreven naar een geheel andere machine (dat werkt allemaal dus als je het handmatig start)

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Maar is de path die de scheduler heeft ook dezelfde als de (user?) path die jij hebt? :)

Verwijderd

Heb je dit al geprobeerd?

code:
1
2
3
e:
cd path_to_website
c:\path_to_svn_dir\svn commit "automated svn"

Verwijderd

Topicstarter
eamelink schreef op maandag 20 november 2006 @ 14:34:
Maar is de path die de scheduler heeft ook dezelfde als de (user?) path die jij hebt? :)
Voor de bat file te starten heb je geen path nodig, je hoeft alleen maar in de scheduler de bat file aan te geven. Wat het path van de website is waarvan je een svn wilt hebben is weer in de bat file gedefineerd.
Als je handmatig een svn maakt moet je een dosbox openen, dan naar de root van je website navigeren en vanuit de root het svn commando geven, doe je het anders werkt het handmatig ook niet

@mens_rea
Ja, echter het svn path moet naar je website verwijzen waarvan je de svn wil committen en niet naar het installatie path van svn zelf, als je dat toch doet krijg je een foutmelding dat het een ongeldig path of url of commando is (zie mijn eerder reply)

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

[ul]• open een cmd-window
• tik dit in: echo $PATH
• kopieer de uitkomst
• plak die in de bat file met ervoor PATH=

dat is het path waar we naar op zoek zijn; niet het pad wat jij path noemt. Werkt de batch-file dan wel?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Spider.007 schreef op maandag 20 november 2006 @ 20:49:
[ul]• open een cmd-window
• tik dit in: echo $PATH
• kopieer de uitkomst
• plak die in de bat file met ervoor PATH=

dat is het path waar we naar op zoek zijn; niet het pad wat jij path noemt. Werkt de batch-file dan wel?
Bert schreef :
Zoals ik al zei de bat file zelf werkt als je hem handmatig start perfect (geen fouten en de svn wordt bijgewerkt)
ps:
het is opgelost.....

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

8)7 het mag duidelijk zijn dat we nogal langs elkaar heenpraten; de meeste problemen met scheduled tasks worden namelijk veroorzaakt doordat je PATH verschilt van het PATH van de scheduler.

Hoe heb je het nu opgelost dan?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Ik heb er een service van gemaakt en deze scheduled laten uitvoeren.
Dit werkt om onduidelijke redenen wel gewoon, geen enkel gegeven van de bat file is veranderd en toch werkt het nu wel.
Pagina: 1