Zielona transformacja jako klucz do długoterminowego sukcesu
Zrównoważony rozwój jako strategiczna przewaga biznesowa. Dlaczego myślenie długoterminowe otwiera drzwi do większej konkurencyjności i nowych rynków.
Autor:Dzisiaj jako Innokrea opowiemy Wam o tym czym jest CI/CD oraz jak wykorzystać natywne rozwiązanie do CI/CD od GitHub – GitHub Actions. Jeśli jesteście ciekawi czym są pipeline’y i jak można je wykorzystać w celu automatyzacji wdrożenia Waszej aplikacji, to zapraszamy. W tematach DevOps oraz DevSecOps polecamy także nasze artykuły dotyczące Terrafroma, CI/CD oraz poprzedni wpis o SAST, DAST i SCA.
GIT jest oprogramowaniem wykorzystywanym przez zdecydowaną większość programistów do zarządzania swoim kodem. Umożliwia ono tworzenie gałęzi oprogramowania i organizację pracy programistów. Kod współdzielony jest na zdalnym repozytorium i mamy tutaj kilka firm oferujących takie usługi. Są to między innymi GitHub, GitLab czy BitBucket. Natomiast narzędzia CI/CD (ang. continuous integration continuous deployment) to oprogramowanie pozwalające na automatyzację zarządzania i wdrażania pisanego kodu do klienta. Występują zarówno narzędzia zewnętrzne jak np. Jenkins czy CircleCI, jak i zintegrowane natywnie ze zdalnym repozytorium jak np. GitLab CI czy GitHub Actions. Procesy, zautomatyzowane w ramach CI/CD nazywamy często workflows lub pipelines i są one zwykle definiowane w formacie YAML.

Rysunek 1 – Kod pipelineu w Jenkinsie, gdzie używa się języka Groovy, źródło: javacodegeeks.com
Aby zrozumieć dokładnie GitHub Actions należy zacząć od wyjaśnienia paru pojęć związanych z tą technologią. Są to między innymi:
Samą definicję pipeline w GitHub Actions piszemy z użyciem YAMLa i umieszczamy w folderze .github/workflows. Może to wyglądać tak jak na poniższym rysunku.

Rysunek 2 – Przykładowe repozytorium ze zdefiniowanym workflow
Spróbujmy stworzyć prosty projekt aplikacji webowej z użyciem express.js. Będziemy używać menadżera pakietów npm oraz GitHub Actions w celu prezentacji możliwości GitHub Actions. Aplikacja będzie odpowiadać na żądanie HTTP na głównym endpoint’cie i będzie miała możliwość skorzystania ze zmiennych środowiskowych, które dostarczymy z wykorzystaniem workflow. Wszystkie pliki dostępne są do pobrania na naszym publicznym repozytorium.
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send(process.env.RESPONSE_MESSAGE || 'Hello, World!');
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
Pipeline odpowiadający za instalację paczek (i późniejszy deploy) mógłby wyglądać następująco:
name: CI 1 Build
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies
run: npm install
Przypatrzmy się kolejnym komendom, które występują w powyższym pliku:
Dzisiaj udało nam się wprowadzić Was do tematu GitHub Actions. Jeśli jesteście ciekawi tego, jakie jeszcze bardziej zaawansowane operacje z użyciem Actions można wykonywać, to zapraszamy za tydzień! Do usłyszenia!
https://www.javacodegeeks.com/wp-content/uploads/2021/04/Screenshot-2021-02-13-at-9.07.04-AM.png
Zielona transformacja jako klucz do długoterminowego sukcesu
Zrównoważony rozwój jako strategiczna przewaga biznesowa. Dlaczego myślenie długoterminowe otwiera drzwi do większej konkurencyjności i nowych rynków.
Zielone IT
„AI dla lepszej przyszłości” – jak INNOKREA inspirowała podczas CEATEC Japan
To był mój pierwszy raz w Japonii. Spodziewałem się hałasu i nadmiaru technologii. Zamiast tego zobaczyłem spokojne twarze, precyzyjne rozmowy i cichą determinację.
InnowacjaSztuczna InteligencjaWydarzenia
INNOKREA na EDAG Smart Industry Summit, Fulda 2025 – i co to było za wydarzenie!
Już jadąc do Fuldy byliśmy w świetnych humorach😊, tak jakby wszystko miało pójść po naszej myśli. Samolot był super punktualny, bagaż dostaliśmy po kilku minutach czekania jako pierwsi pasażerowie
InnowacjaSztuczna InteligencjaWydarzenia