Zmiany bezpłatnych dotacji w usłudze Azure Pipelines
Tymczasowo zmieniamy proces uzyskiwania bezpłatnych dotacji usługi Azure Pipelines, aby rozwiązać problem rosnącego nadużywania hostowanych agentów. Domyślnie nowe organizacje utworzone w usłudze Azure DevOps mogą nie otrzymać bezpłatnego przyznania współbieżnych potoków. Nowi użytkownicy będą musieli wysłać wiadomość e-mail i podać dodatkowe informacje, aby uzyskać bezpłatną ciągłą integrację/ciągłe wdrażanie.
Aby uzyskać szczegółowe informacje, zapoznaj się z listą funkcji poniżej.
Azure Pipelines
- Zmiany bezpłatnych dotacji w usłudze Azure Pipelines
- Usuwanie zasad przechowywania dla potoku w kompilacjach klasycznych
- Nowe kontrolki zmiennych środowiskowych w potokach
- Generowanie nieograniczonego tokenu dla kompilacji rozwidlenia
- Zmiana w modułach Az, Azure i Azure RM wstępnie zainstalowanych
Azure Repos
Azure Pipelines
Zmiany bezpłatnych dotacji w usłudze Azure Pipelines
Usługa Azure Pipelines oferuje bezpłatną ciągłą integrację/ciągłe wdrażanie w projektach publicznych i prywatnych od kilku lat. Ponieważ oznacza to rozdawanie bezpłatnych obliczeń, zawsze było celem nadużyć – zwłaszcza górnictwa kryptograficznego. Minimalizacja tego nadużycia zawsze pobierała energię od zespołu. W ciągu ostatnich kilku miesięcy sytuacja znacznie się pogorszyła, a wysoki odsetek nowych projektów w usłudze Azure DevOps jest używany do wyszukiwania kryptograficznego i innych działań, które klasyfikowaliśmy jako obraźliwe. Kilka zdarzeń usługi w ciągu ostatniego miesiąca zostało spowodowanych tym nadużyciem, co spowodowało długie czasy oczekiwania dla istniejących klientów.
Aby rozwiązać ten problem, dodaliśmy dodatkowy krok dla nowych organizacji w usłudze Azure DevOps, aby uzyskać bezpłatne przyznanie. Następujące zmiany są od razu skuteczne:
- Domyślnie nowe organizacje utworzone w usłudze Azure DevOps nie otrzymają już bezpłatnego przyznania współbieżnych potoków. Dotyczy to zarówno publicznych, jak i prywatnych projektów w nowych organizacjach.
- Aby zażądać bezpłatnego udzielenia, prześlij żądanie i podaj następujące szczegółowe informacje:
- Twoje imię i nazwisko
- Organizacja usługi Azure DevOps, dla której żądasz bezpłatnego przyznania
- Niezależnie od tego, czy potrzebujesz bezpłatnej dotacji dla projektów publicznych, czy projektów prywatnych
- Linki do repozytoriów, które planujesz skompilować (tylko projekty publiczne)
- Krótki opis projektu (tylko projekty publiczne)
Przeanalizujemy Twoje żądanie i odpowiemy w ciągu kilku dni.
Uwaga
Ta zmiana ma wpływ tylko na nowe organizacje. Nie ma ona zastosowania do istniejących projektów ani organizacji. Nie zmienia to kwoty bezpłatnej dotacji, którą można uzyskać. Dodaje tylko dodatkowy krok, aby uzyskać to bezpłatne przyznanie.
Przepraszamy za wszelkie niedogodności, które mogą spowodować, że nowi klienci chcą korzystać z usługi Azure Pipelines na potrzeby ciągłej integracji/ciągłego wdrażania. Uważamy, że jest to konieczne, aby nadal zapewniać wysoki poziom usług wszystkim naszym klientom. Będziemy nadal badać zautomatyzowane sposoby zapobiegania nadużyciom i przywrócimy poprzedni model po utworzeniu niezawodnego mechanizmu zapobiegania nadużyciom.
Usuwanie zasad przechowywania dla potoku w kompilacjach klasycznych
Teraz można skonfigurować zasady przechowywania dla klasycznych kompilacji i potoków YAML w ustawieniach projektu usługi Azure DevOps. Chociaż jest to jedyny sposób konfigurowania przechowywania dla potoków YAML, można również skonfigurować przechowywanie dla klasycznych potoków kompilacji na podstawie potoku. W nadchodzącym wydaniu usuniemy wszystkie reguły przechowywania potoków dla potoków klasycznych kompilacji.
Co to oznacza: każdy klasyczny potok kompilacji, który nadal ma reguły przechowywania dla potoku, wkrótce będzie rządził regułami przechowywania na poziomie projektu.
Aby ułatwić identyfikację tych potoków, wprowadzamy zmianę w tej wersji, aby wyświetlić baner w górnej części strony listy przebiegów.
Zalecamy zaktualizowanie potoków przez usunięcie reguł przechowywania dla potoku. Jeśli potok wymaga specjalnie niestandardowych reguł, możesz użyć niestandardowego zadania w potoku. Aby uzyskać informacje na temat dodawania dzierżaw przechowywania za pomocą zadania, zobacz dokumentację ustawiania zasad przechowywania dla kompilacji, wydań i testów.
Nowe kontrolki zmiennych środowiskowych w potokach
Agent usługi Azure Pipelines skanuje standardowe dane wyjściowe pod kątem specjalnych poleceń rejestrowania i wykonuje je. Polecenie setVariable
może służyć do ustawiania zmiennej lub modyfikowania wcześniej zdefiniowanej zmiennej. Może to być potencjalnie wykorzystane przez aktora poza systemem. Jeśli na przykład potok zawiera krok, który wyświetla listę plików na serwerze FTP, osoba mająca dostęp do serwera FTP może dodać nowy plik, którego nazwa zawiera setVariable
polecenie i spowodować zmianę zachowania potoku.
Mamy wielu użytkowników, którzy polegają na ustawianiu zmiennych przy użyciu polecenia rejestrowania w potoku. W tej wersji wprowadzamy następujące zmiany, aby zmniejszyć ryzyko niepożądanych setVariable
zastosowań polecenia.
- Dodaliśmy nową konstrukcję dla autorów zadań. Dołączając fragment kodu, taki jak poniższy w
task.json
pliku , autor zadania może kontrolować, czy jakiekolwiek zmienne są ustawiane przez ich zadanie.
{
"restrictions": {
"commands": {
"mode": "restricted"
},
"settableVariables": {
"allowed": [
"myVar",
"otherVar"
]
}
},
}
Ponadto aktualizujemy szereg wbudowanych zadań, takich jak ssh, aby nie można było ich wykorzystać.
Na koniec możesz teraz używać konstrukcji YAML do kontrolowania, czy krok może ustawiać zmienne.
steps:
- script: echo hello
target:
settableVariables: none
steps:
- script: echo hello
target:
settableVariables:
- things
- stuff
Generowanie nieograniczonego tokenu dla kompilacji rozwidlenia
Użytkownicy usługi GitHub często używają rozwidlenia do współtworzenia nadrzędnego repozytorium. Gdy usługa Azure Pipelines tworzy współtworzenie rozwidlenia repozytorium GitHub, ogranicza uprawnienia przyznane tokenowi dostępu do zadania i nie zezwala na dostęp do wpisów tajnych potoku przez takie zadania. Więcej informacji na temat zabezpieczeń rozwidlenia budynku można znaleźć w naszej dokumentacji.
Te same ograniczenia mają zastosowanie domyślnie podczas kompilowania rozwidlenia repozytorium GitHub Enterprise Server. Może to być bardziej restrykcyjne niż pożądane w takich zamkniętych środowiskach, w których użytkownicy mogą nadal korzystać z modelu współpracy źródła wewnętrznego. Ustawienie w potoku można skonfigurować tak, aby wpisy tajne były dostępne dla rozwidlenia, ale nie ma ustawienia umożliwiającego kontrolowanie zakresu tokenu dostępu do zadania. W tej wersji dajemy ci kontrolę nad generowaniem zwykłego tokenu dostępu do zadań nawet w przypadku kompilacji rozwidlenia.
To ustawienie można zmienić z wyzwalaczy w edytorze potoków. Przed zmianą tego ustawienia upewnij się, że w pełni rozumiesz implikacje zabezpieczeń dotyczące włączania tej konfiguracji.
Zmiana w modułach Az, Azure i Azure RM wstępnie zainstalowanych
Aktualizujemy proces wstępnego instalowania modułów Az, Azure i AzureRM do obrazów hostowanych w systemach Ubuntu i Windows w celu uzyskania bardziej wydajnej obsługi i wykorzystania miejsca na obrazach.
W tygodniu 29 marca wszystkie wersje, z wyjątkiem najnowszych i najbardziej popularnych, będą przechowywane jako archiwa i zostaną wyodrębnione przez zadanie programu Azure PowerShell na żądanie. Szczegółowa lista zmian znajduje się poniżej:
Obrazy systemu Windows
Wszystkie wersje modułu Az z wyjątkiem najnowszej wersji (obecnie 5.5.0) zostaną zarchiwizowane
Wszystkie moduły platformy Azure z wyjątkiem najnowszej (obecnie 5.3.0) i 2.1.0 zostaną zarchiwizowane
Wszystkie moduły AzureRM z wyjątkiem najnowszej (obecnie 6.13.1) i 2.1.0 zostaną zarchiwizowane
Obrazy z systemem Ubuntu
- Wszystkie moduły Az z wyjątkiem najnowszej (obecnie 5.5.0) zostaną zarchiwizowane lub całkowicie usunięte z obrazu i zostaną zainstalowane przez zadanie na żądanie.
Wszystkie potoki korzystające z wbudowanych zadań platformy Azure na hostowanych agentach będą działać zgodnie z oczekiwaniami i nie będą wymagały aktualizacji. Jeśli nie używasz tych zadań, przełącz potoki na użycie zadania programu Azure PowerShell, aby uniknąć zmian w wstępnie zainstalowanych modułów.
Uwaga
Te aktualizacje nie będą mieć wpływu na potoki uruchomione na własnych agentach.
Azure Repos
Wyłączanie repozytorium
Klienci często żądali sposobu wyłączenia repozytorium i uniemożliwienia użytkownikom uzyskiwania dostępu do jego zawartości. Na przykład możesz chcieć to zrobić, gdy:
- W repozytorium znaleziono wpis tajny.
- Narzędzie do skanowania innej firmy stwierdziło, że repozytorium jest niezgodne.
W takich przypadkach możesz tymczasowo wyłączyć repozytorium podczas pracy w celu rozwiązania problemu. Dzięki tej aktualizacji możesz wyłączyć repozytorium, jeśli masz uprawnienia do usuwania repozytorium . Wyłączając repozytorium:
- Może wyświetlić listę repozytoriów na liście repozytoriów
- Nie można odczytać zawartości repozytorium
- Nie można zaktualizować zawartości repozytorium
- Zobacz komunikat, że repozytorium zostało wyłączone podczas próby uzyskania dostępu do repozytorium w interfejsie użytkownika usługi Azure Repos
Po podjęciu niezbędnych kroków zaradczych użytkownicy z uprawnieniem Usuwanie repozytorium mogą ponownie włączyć repozytorium. Aby wyłączyć lub włączyć repozytorium, przejdź do pozycji Ustawienia projektu, wybierz pozycję Repozytoria, a następnie określone repozytorium.
Następne kroki
Uwaga
Te funkcje będą wdrażane w ciągu najbliższych dwóch do trzech tygodni.
Przejdź do usługi Azure DevOps i przyjrzyj się.
Jak przekazać opinię
Chcielibyśmy usłyszeć, co myślisz o tych funkcjach. Użyj menu Pomocy, aby zgłosić problem lub podać sugestię.
Możesz również uzyskać porady i odpowiedzi na pytania społeczności w witrynie Stack Overflow.
Dzięki,
Vijay Machiraju