Beberapa proyek dalam solusi klien saya memiliki peristiwa pasca-pembangunan: xcopy
keluaran pembangunan ke folder tertentu. Ini berfungsi dengan baik saat membangun secara lokal. Namun, di TeamCity, saya terkadang mendapatkannya
xcopy [...] keluar dengan kode 2
Jika saya menggunakan reguler copy
, itu keluar dengan kode 1. Saya berharap ini ada hubungannya dengan kunci file, meskipun file spesifik yang disalin tidak sama, jadi mungkin hanya mengunci direktori tujuan bersama. Saya biasanya /y
tidak meminta untuk menimpa file.
Mengapa ini gagal di TeamCity tetapi tidak secara lokal?
The user pressed CTRL+C to terminate xcopy
. Hehe.Jawaban:
Bahkan jika Anda menyediakan
/Y
switch dengan xcopy, Anda masih akan mendapatkan kesalahan saat xcopy tidak tahu apakah yang Anda salin adalah file atau direktori. Kesalahan ini akan muncul sebagai "keluar dengan kode 2". Saat Anda menjalankan xcopy yang sama pada prompt perintah, Anda akan melihat bahwa xcopy meminta tanggapan dari file atau direktori.Untuk mengatasi masalah ini dengan build otomatis, Anda dapat menggemakan respons yang ditentukan sebelumnya dengan pipa.
Untuk mengatakan hal yang Anda salin adalah file, gema di
F
:Untuk mengatakan hal yang Anda salin adalah direktori, gema di
D
:Terkadang hal di atas dapat diselesaikan hanya dengan menggunakan perintah salin alih-alih xcopy:
Namun, jika tidak ada direktori yang mengarah ke tujuan file akhir, maka "keluar dengan kode 1" akan terjadi.
Ingat: gunakan
/C
sakelar dan xcopy dengan hati-hati.sumber
*
berfungsi dengan direktori juga? Atau ini hanya untuk file?Saya memperbaiki kode kesalahan 2 dengan menambahkan \ di ujung jalur saya, tanpa itu, xcopy akan berpikir bahwa itu adalah file, bukan folder.
sumber
Jika Anda menggunakan xcopy dalam event post build gunakan tombol / Y selain / C.
sumber
/Y
menekan prompt! Mengapa ini sangat sulit ditemukan?Perbaikan saya untuk masalah ini adalah masuk ke folder target bin, dan memastikan bahwa subfolder yang tepat ada di sana. Setelah subfolder itu dibuat secara manual, proses build berhasil diselesaikan.
sumber
copy
memperbaikinya untuk saya.xcopy with /c /y
tidak bekerja. Saya mendapatkan jalan keluar 4 jadi saya pergi denganxcopy
, tetapi ternyata saya membutuhkan kutipan($TargetPath)
.Skrip saya:
sumber
Mungkin Anda menggunakan TeamCity dengan git. Jika ya, periksa apakah folder yang ingin Anda salin ada di repositori git. Biasanya git aviod menambahkan folder proyek kosong ke repositori, jadi
xcopy
gagal menemukannya dan menghasilkan kesalahan.Anda dapat menambahkan beberapa file teks kosong ke folder kosong, komit dan melihat folder muncul di repositori.
sumber