Ana içeriğe geç

kule group

Görev grupları oluşturur ve yönetir. Bir grubun bir adı, bir rengi, görevlerinin tabi olduğu bir politikası ve kendi bütçeleri ile sınırları vardır.

Kullanım​

kule group [OPTIONS] [COMMAND]
Alt komutNe yapar
listGrupları, politikalarını ve görevlerini listeler (varsayılan).
newBir grup oluşturur.
renameBir grubu yeniden adlandırır.
colorBir grubun rengini ayarlar ya da kaldırır.
policyBir grubun görevlerinin tabi olduğu politikayı seçer ya da yazdırır.
budgetBir grubun görevlerinin birlikte ne kadar tutabileceğini gösterir ya da ayarlar.
putBir görevi bir gruba koyar ya da gruptan çıkarır.
deleteBir grubu siler; görevleri kalır.

Açıklama​

Gruplar bir dizi göreve aynı şekilde davranmanızı sağlar: bir müşterinin tüm görevleri ya da careful (dikkatli) politikaya tabi tutmak istediğiniz tüm denemeler gibi. Bir görev en fazla bir grupta olabilir. Gruplar numaralıdır (1, 2, …); ID alan her alt komut, kule group'un yazdığı bu numarayı ister.

Bir grubun görevleri için belirledikleri:

  • Politika: görevlerinin her değişikliğini ve bağlantısını değerlendiren kurallar (bkz. Politika). Varsayılan olarak bir grup tüm görevler için geçerli olan politikayı kullanır.
  • Bütçeler: görevlerinin tüm çalıştırmaları üzerinde bir toplam ve herhangi bir 24 saat üzerinde bir tane. İkisi de her görevin kendi bütçesinin ve tüm görevler için günlük bütçenin yanında geçerlidir.
  • Sınırlar: kule limits --group ID ile ayarlanır. Gruptaki her görevi, görevin kendi değeri olmadığı yerde sınırlar.

Bir deponun kendi forbid kuralları (.kule/policy.cedar) ve Kule'ye bir daha sormamasını söyledikleriniz (kule rules) her grupta geçerlidir. Bütün resim için Gruplar sayfasına bakın.

Tüm alt komutlar --home alır (bkz. genel seçenekler).

kule group list​

kule group list [OPTIONS]

Her grubu kimliği, adı, politikası, bütçeleri, kendi sınırları olup olmadığı, rengi ve görevleriyle birlikte listeler. Alt komut olmadan kule group aynı şeyi yapar.

$ kule group
1 clients · the policy for every task · budget 20.00 USD, 5.00 USD a day · limits of its own (kule limits --group 1) (teal)
1046fb30 ~/code/app
2 side projects · the policy for every task (red)

Henüz hiç grup yokken:

$ kule group
no groups: every task is judged by the policy for every task

kule group new​

kule group new [OPTIONS] <NAME>
Argüman / seçenekAnlamı
NAMEGrubun adı, en fazla 60 karakter.
--color COLORred, orange, yellow, green, teal, blue, purple, pink renklerinden biri. Verilmezse Kule başka hiçbir grubun kullanmadığı bir renk seçer.

Yeni bir grup, siz başka bir politika seçene kadar tüm görevler için geçerli olan politikayı kullanır. En fazla 100 grubunuz olabilir.

$ kule group new clients --color teal
group 1 made: clients
$ kule group new "side projects"
group 2 made: side projects

kule group rename​

kule group rename [OPTIONS] <ID> <NAME>
$ kule group rename 2 "Side projects"

Başarılı olduğunda hiçbir şey yazmaz.

kule group color​

kule group color [OPTIONS] <ID> [COLOR]

Grubun rengini ayarlar; COLOR verilmezse rengi kaldırır. Grubun görevleri, kendi renkleri yoksa bu rengi gösterir (bkz. kule color).

$ kule group color 2 purple
$ kule group color 2

kule group policy​

kule group policy [OPTIONS] <ID> [CHOICE]
Argüman / seçenekAnlamı
IDGrup.
CHOICEdefault (tüm görevler için geçerli politika), balanced, careful ya da own. Grup için geçerli kuralları yazdırmak için boş bırakın.
--file PATHown ile: grubun politikasını içeren bir Cedar dosyası. Saklanmadan önce kontrol edilir (en fazla 256 KiB).

Grubun görevleri, bir sonraki commit'lerinden ve çalıştırmalarından itibaren yeni seçime göre değerlendirilir.

$ kule group policy 1 careful
group 1's tasks are judged by it from their next commit and run
$ kule group policy 1 | tail -3
@id("careful")
forbid (principal, action == Kule::Action::"auto", resource)
when { resource.kind like "fs.*" || resource.kind like "git.*" };

Grubun kendine ait bir politikası:

$ kule group policy 1 own --file clients.cedar
group 1's tasks are judged by it from their next commit and run

Dosya saklandıktan sonra kule group policy 1 own (--file olmadan) yeniden ona geçer. Nasıl yazılacağı için Politika kuralları sayfasına bakın; en kolay başlangıç, kule policy çıktısının bir kopyasını alıp değiştirmektir.

uyarı

Kendinize ait bir politika, grup için Kule'ninkinin yerine geçer. Dışarıda bıraktığınız kurallar, bir deponun kendi forbid kuralları dışında, o görevler için artık geçerli olmaz. Kule'nin balanced politikasının metninden başlayın (balanced geçerliyken kule policy onu yazdırır) ve yalnızca değiştirmek istediğinizi değiştirin.

kule group budget​

kule group budget [OPTIONS] <ID> [AMOUNT] [CURRENCY]
Argüman / seçenekAnlamı
IDGrup.
AMOUNT20 ya da 7.50 gibi pozitif bir tutar, ya da off. İki bütçeyi ve harcananı göstermek için boş bırakın.
CURRENCYBüyük harfle ISO 4217. Varsayılan USD.
--dailyTüm çalıştırmalar üzerindeki bütçe yerine herhangi bir 24 saat üzerindeki bütçeyi ayarlar.

Bir grubun isteğe bağlı iki bütçesi vardır: biri görevlerinin tüm çalıştırmaları üzerinde, biri herhangi bir 24 saat üzerinde. Bir çalıştırma, görevi çalıştığı sırada hangi gruptaysa o grup için sayılır; yani bir görevi gruptan çıkarmak, harcadığını grubun hesabında bırakır.

$ kule group budget 1 20
budgets for GROUP 1 "clients": its 1 task together, beside each task's own and the daily one for every task:
all their runs 20.00 USD, 0.00 USD spent, 20.00 USD left
any 24 hours no budget (nothing reported spent)
$ kule group budget 1 5 --daily
budgets for GROUP 1 "clients": its 1 task together, beside each task's own and the daily one for every task:
all their runs 20.00 USD, 0.00 USD spent, 20.00 USD left
any 24 hours 5.00 USD, 0.00 USD spent, 5.00 USD left
$ kule group budget 1 off --daily

Bir grup bütçesi tükendiğinde grubun görevleri hiçbir çalıştırma başlatmaz: group "clients" has spent its budget: its tasks together; raise it or turn it off to run again.

kule group put​

kule group put [OPTIONS] <TASK> [GROUP]

TASK'ı GROUP grubuna koyar; GROUP verilmezse görevi grubundan çıkarır. Ardından görevin çalıştırmalarını sınırlayan sınırlarda ve grup bütçelerinde neyin değiştiğini söyler; böylece hiçbir şey siz görmeden gevşemez.

$ kule group put 1046fb30 1
task 1046fb30 is in group 1 "clients"
its limits: memory 4 GB → 2 GB, one run no limit → 30 min
$ kule group put 1046fb30
task 1046fb30 is in no group
its limits: memory 2 GB → 4 GB, one run 30 min → no limit

Görevin bir sonraki commit'ini ve çalıştırmasını yeni grubun politikası değerlendirir.

kule group delete​

kule group delete [OPTIONS] <ID>

Grubu siler. Görevleri hiçbir grupta olmadan kalır ve yeniden tüm görevler için geçerli politikaya göre değerlendirilir.

$ kule group delete 2
group 2 deleted; its tasks are in no group

Hatalar ve çözümler​

MesajNe yapmalı
kule: no group 9Kimliği kule group ile kontrol edin.
kule: a task's colour is one of red, orange, yellow, green, teal, blue, purple, pink, not "magenta"Bu renklerden birini seçin.
kule: strict: a group's policy is default, balanced, careful or ownDört seçenekten birini kullanın.
kule: write the group's policy firstown, ilk seferde --file PATH ister.
kule: a policy's text goes with a policy of the group's own--file yalnızca own ile kullanılır.
kule: policy: unexpected end of input (ya da başka bir Cedar hatası)Dosya geçerli Cedar değil; hiçbir şey değişmedi. Dosyayı düzeltip yeniden deneyin.
kule: at most 100 groups; delete one firstArtık kullanmadığınız bir grubu silin.

Uygulamada​

Tasks'ın yanındaki + bir grup oluşturur. Bir grubun ⋮ menüsü onu yeniden adlandırır, rengini değiştirir, onun için Budget… ve Limits… açar ve siler. Bir görevi oraya koymak için bir grubun üstüne sürükleyin (ya da görevin menüsündeki Group… öğesini kullanın); çıkarmak için Not in a group üstüne sürükleyin. Bir taşıma, görevin bekleyen değişikliklerinden herhangi birinin kararını ya da sınırlarını ve bütçelerini değiştirecekse uygulama önce sorar. Bir grubun politikası Settings → Policy'de seçilir.

Ayrıca bakın​