Pytania i odpowiedzi dla inżynierów oprogramowania pracujących nad testami automatycznymi, ciągłym dostarczaniem, integracją usług i monitorowaniem oraz budowaniem infrastruktury SDLC
Mamy aplikację, która zapisuje trzy typy dzienników w trzech osobnych plikach: dzienniki dostępu, ogólne dzienniki aplikacji i dzienniki systemowe. Format (i cel) tych dzienników są bardzo różne. I mamy osobne moduły logforwarderów, które wysyłają je osobno do naszego scentralizowanego systemu rejestrowania. Opierając się na zasadzie traktuj dzienniki jako strumienie zdarzeń …
Zakładając, że przełączanie flag funkcji jest dobrym pomysłem i powinno być zaimplementowane w kodzie pisanym przez programistów. Na przykład Etsy przysięgają na nich jako znaczną część ich kultury . Jaki jest dobry sposób przekonania (i wymuszenia) programistów, aby zaczęli używać przełączników flagi funkcji? Więcej informacji na temat przełączania flag funkcji …
Usiłuję skonfigurować filtr czyszczenia / rozmazywania w git, aby mieć automatyczne szyfrowanie i deszyfrowanie plików zawierających sekrety za pomocą polecenia ansible-vault . Osobliwością polecenia ansible-vault jest to, że nie jest idempotentny (tworzy inny plik binarny za każdym razem, gdy jest wywoływany na tych samych danych). Zacząłem od implementacji sugerowanej na …
W ciągle rozwijanym projekcie internetowym (nie produkt) mamy obecnie następującą strategię rozgałęziania, w przybliżeniu opartą na git flow : gałąź rozwoju: najnowsza działająca wersja oddział główny: wersja do wydania / wersja do wydania gałęzie funkcji: funkcje w fazie rozwoju gałęzie poprawek: pilne poprawki błędów w wydanej wersji Mistrz jest tylko …
Po raz pierwszy, kiedy usłyszałem słowo SecOps, pomyślałem o nim jako o podejściu do zarządzania, które ma na celu połączenie zespołów bezpieczeństwa i operacji, podobnie jak DevOps łączy programistów i zespół operacyjny. Ale czy bezpieczeństwo nie jest tylko układanką DevOps? DevOps już obejmuje procesy takie jak monitorowanie komponentów, zarządzanie wersjami, …
Oto cytat z aktualnej treści ciągłej integracji : ... proces częstego łączenia kopii kodu roboczego programisty ze wspólną bazą kodów, aby zapobiec problemom z integracją lub je zminimalizować. OK, rozumiem. Ale jest też ciągłe dostarczanie i ciągłe wdrażanie , i tam ciągle się trochę gubię: W jaki sposób ciągła integracja …
Dobrzy programiści powinni pasować do reguły 11 testu Joela : Czy nowi kandydaci piszą kod podczas rozmowy kwalifikacyjnej? Jednak niewiele wiem o kontenerach Docker, jak skonfigurować Jenkins lub AWS itp. Jaki byłby dobry sposób na sprawdzenie, czy osoba, która się zgłosi, może zarządzać takimi zadaniami? Pod-pytania: Uważam, że dobry pracownik …
Amazon S3 ma opcję replikacji między regionami, która powinna być dość odporna na awarie w przypadku awarii regionu / strefy. Czy to oznacza, że ci, którzy narzekają na awarię, nie skorzystali z tego aspektu? A może replikacja między regionami nie jest całkowicie niezawodna i nie pomogłaby?
Załóżmy, że korzystasz z procesów ciągłej integracji, które często aktualizują niektóre środowiska docelowe, dzięki czemu za każdym razem, gdy są jakieś zmiany, „możesz” przetestować je od razu. To część celów CI, nie? Ale załóż również, że w twoim cyklu testowym uczestniczą inne osoby, np. Kierownicy lub klienci. Sensowne jest angażowanie …
Dużo słyszałem o mapowaniu strumienia wartości i o tym, jak można go wykorzystać do analizy strumienia wartości procesów produkcyjnych, w tym procesu dostarczania oprogramowania. Nigdy nie widziałem, aby dostarczono go z powodzeniem w kontekście zespołów programistycznych i operacyjnych. Co to jest mapowanie strumienia wartości i jak można go zastosować do …
Cel: tworzenie za każdym razem najmniejszych działających obrazów dokerów obecny REPOSITORY TAG IMAGE ID CREATED SIZE a-docker-image latest x 42 minutes ago 1.92 GB Próba Dodanie kroku czyszczenia na końcu pliku Docker: #clean RUN apt-get purge -y wget RUN rm -r a-build-dir RUN apt-get purge -y a-package nieco zmniejszyłem rozmiar …
Muszę wprowadzić pewne zmiany konfiguracji w naszym wystąpieniu Jenkins, które będą wymagały ponownego uruchomienia Jenkins kilka razy. Jednak nasi programiści zobowiązują się na tyle często, że nie widziałem Jenkinsa bez zadań uruchomionych od trzech dni. Czy istnieje natywny sposób (za pośrednictwem GUI lub wiersza poleceń) bezpiecznego restartowania Jenkinsa? IE: poczekaj …
Korzystam z podręcznika Ansible z subtelnym hackiem, aby pracować na porcie przekierowanym z dowolnego portu (dzięki czemu mogę korzystać z jednego komputera bez bezpośredniego dostępu do wielu komputerów). Mam zadanie wstępne do zmiany ansible_portzmiennej, więc kiedy zaczynam uruchamiać moje prawdziwe zadania i role, pojawia się monit o zaakceptowanie kluczy hosta …
Mam następującą zmienną środowiskową skonfigurowaną w pliku docker-compose.yml: version: '3' services: server: ports: - 13045:3000 environment: - NODE_CONFIG: '{"DATABASE_URL":"http://db:5984"}' Podczas próby uruchomienia docker-compose uppojawia się ten błąd: services.server.environment contains {"NODE_CONFIG": "{\"DATABASE_URL\":\"http://db:5984\"}"}, which is an invalid type, it should be a string Potrzebuję ustawić zmienną środowiskową na ciąg JSON (patrz https://github.com/lorenwest/node-config/wiki/Environment-Variables#node_config …
Na przykład chcę uruchomić alarm CloudWatch dla następujących elementów: Number of messages sent- Number of messages deleted> = 6 Powyższe dotyczy wskaźników AWS SQS. I chcę, aby ta metryka wyzwalała AWS Lambda, jeśli ten alarm jest włączony. Czy jest jakiś sposób, żeby to zrobić? Jeśli nie, to czy istnieje jakieś …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.