こんにちは!今回は、私たち「Workflowチーム」についてご紹介させていただきます。
Workflowチームとは
現在、チームメンバーは6名で、スクラム開発を採用しています。
ArgoWorkflows上に大規模ビルドシステムを構築しており、日々の業務を自動化する仕組みを提供しています。
ArgoWorkflows とは?何ができるの?
皆さん、ArgoWorkflows をご存知ですか?
ArgoWorkflows というのは Kubernetes 上で動くワークフローエンジンで、 Kubernetes の Pod 他さまざまなリソースの上に業務やバッチなどのワークフローを組み立てられるんです。
というわけで、実際にワークフローの動く様子を見てみましょう。
```yaml
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: build-apps-
annotations:
workflows.argoproj.io/description: "メインアプリ3種類をビルドします"
spec:
entrypoint: entry
arguments:
parameters:
- name: branch
- name: source_branch
value: main
templates:
- name: entry
inputs:
parameters:
- name: branch
- name: source_branch
steps:
- - name: build-apps
template: build-apps
withItems:
- project-xxx
- project-yyy
- project-zzz
arguments:
parameters:
- name: branch
value: "{{ inputs.parameters.branch }}"
- name: source_branch
value: "{{ inputs.parameters.source_branch }}"
- name: url
value: "https://github.com/we-are-build-team/{{ item }}"
- name: build-apps
inputs:
parameters:
- name: branch
- name: source_branch
- name: url
artifacts:
- name: repository
path: /work
git:
repo: {{ inputs.parameters.url }}
branch: {{ inputs.parameters.branch }}
container:
resources:
requests:
cpu: "4"
memory: "8Gi"
limits:
cpu: "4"
memory: "8Gi"
image: "library/golang:1.24.4-bullseye"
workingDir: /work
command: ['bash','-c']
args:
- |
declare projecturl="{{ inputs.parameters.url }}"
go build ...
aws s3 cp "${projecturl##*/}" "s3://craftman-bucket-name-example/apps/${projecturl##*/}"
```
このように、 YAML でワークフローのステップと、コンテナの内容を記述するだけでワークフローを組み立てられるのが ArgoWorkflows です。私たちは業務を自動化するためのツールとして、いま紹介した ArgoWorkflows を用いています。
こんな人たちが活躍してます
🔵 自動化が好きな人
🔵 最新の技術に興味がある人
🔵 OSSに積極的に貢献する人
🔵 オープンマインドで、趣味を共有できる人 ( お酒 / 麻雀 / カラオケ / etc... )
我々のチームにご興味をお持ちいただいた方は、ぜひカジュアル面談にてお話ししましょう!
ご応募をお待ちしております。