SlideShare une entreprise Scribd logo
1  sur  12
株式会社ノハナ junpayment
CIジョブでファイヤーウォールを
突破するハナシ!
Powered by
野村順平
@junpayment
株式会社ノハナ
サーバサイドテックリード
GCP,GKE,Go…
釣り
● 福岡出身
● Windows,Linux組み込み系
● ソーシャルゲーム業界
● ノハナ入社
DB依存するテスト
https://support.circleci.com/hc/en-us/articles/115014372807-IP-Address-ranges-for-whitelisting-
• DB,既存レコードに依存するテスト
• DBがVPCに存在,IP制限
• テスト書き直す<回避を選択
• CircleCIは実行ホストIP固定できない
こうしました
https://github.com/junpayment/circleci20200805/blob/master/.circleci/co
nfig.yml
1 FW rule作る
2 テストする
3 FW rule削除する
4 テスト結果をビルド結果に反映
when: always
これで良かった
https://github.com/junpayment/circleci20200805/blob/usealways/.circlec
i/config.yml
ジョブ前後でFWに穴あける
- run:
name: add a temporary firewall
command: |
export SOURCE_RANGE=`curl http://ifconfig.me/`
gcloud compute firewall-rules create circleci-${CIRCLE_WORKFLOW_ID}-${CIRCLE_BUILD_NUM} 
--network=default 
--action=allow 
--target-tags=mongo 
--source-ranges=${SOURCE_RANGE} 
--rules=tcp:27017-27019 || true
:
- run:
name: delete the temporary firewall
command: |
gcloud compute firewall-rules delete circleci-${CIRCLE_WORKFLOW_ID}-${CIRCLE_BUILD_NUM} --quiet
テスト結果のエラーとFWエラー
- run:
name: test
command: |
curl https://dl.google.com/go/go1.14.6.linux-amd64.tar.gz -o go1.14.6.linux-amd64.tar.gz
tar -C /usr/local -xzvf go1.14.6.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go vet ./... || echo "export VET_RESULT=${?}" >> $BASH_ENV
go test ./... || echo "export TEST_RESULT=${?}" >> $BASH_ENV
:
- run:
name: exit with error code if error occured
command: |
echo "TEST_RESULT: ${TEST_RESULT:-0}"
echo "VET_RESULT: ${VET_RESULT:-0}"
exit $((${VET_RESULT:-0} + ${TEST_RESULT:-0}))
本番上げる前に待つ
deploy-production:
jobs:
- test:
filters:
branches:
only:
- master
- slack/approval-notification:
message:
requires:
- test
- hold:
type: approval
requires:
- slack/approval-notification
- deploy:
requires:
- hold
context: production

Contenu connexe

Tendances

Cephベンチマーク kvm
Cephベンチマーク kvmCephベンチマーク kvm
Cephベンチマーク kvmToshimi Kawabata
 
KUSANAGIユーザグループ東京 第1回勉強会 資料
KUSANAGIユーザグループ東京 第1回勉強会 資料KUSANAGIユーザグループ東京 第1回勉強会 資料
KUSANAGIユーザグループ東京 第1回勉強会 資料Sumito Tsukada
 
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)さくらインターネット株式会社
 
分割と整合性と戦う
分割と整合性と戦う分割と整合性と戦う
分割と整合性と戦うYugo Shimizu
 
Server specのご紹介
Server specのご紹介Server specのご紹介
Server specのご紹介Akira Kaneda
 
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LTGazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LTMasahiro Nagano
 
CROSS 2016 LT - 我々のIoTデバイスがこんなに多いはずが無い
CROSS 2016 LT - 我々のIoTデバイスがこんなに多いはずが無いCROSS 2016 LT - 我々のIoTデバイスがこんなに多いはずが無い
CROSS 2016 LT - 我々のIoTデバイスがこんなに多いはずが無いKohei MATSUSHITA
 
【MySQL編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
【MySQL編】サーバ環境が進化する今話題のPCIe SSDを評価してみた【MySQL編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
【MySQL編】サーバ環境が進化する今話題のPCIe SSDを評価してみたNissho Lab
 
負荷がたかいいんだから~♪(仮)
負荷がたかいいんだから~♪(仮)負荷がたかいいんだから~♪(仮)
負荷がたかいいんだから~♪(仮)Yohei Hamada
 
【Oracle ORION編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
【Oracle ORION編】サーバ環境が進化する今話題のPCIe SSDを評価してみた【Oracle ORION編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
【Oracle ORION編】サーバ環境が進化する今話題のPCIe SSDを評価してみたNissho Lab
 
2人でOpenStackを開発環境に導入した話
2人でOpenStackを開発環境に導入した話2人でOpenStackを開発環境に導入した話
2人でOpenStackを開発環境に導入した話Shohei Koyama
 
【IOPS編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
【IOPS編】サーバ環境が進化する今話題のPCIe SSDを評価してみた【IOPS編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
【IOPS編】サーバ環境が進化する今話題のPCIe SSDを評価してみたNissho Lab
 
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LTMackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LTMasahiro Nagano
 
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015Masahiro Nagano
 
Performance and Scalability of Web Service
Performance and Scalability of Web ServicePerformance and Scalability of Web Service
Performance and Scalability of Web ServiceShinji Tanaka
 
EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料
EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料
EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料Masahiro Haraoka
 
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~真乙 九龍
 
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」Atsushi Tanaka
 

Tendances (20)

Cephベンチマーク kvm
Cephベンチマーク kvmCephベンチマーク kvm
Cephベンチマーク kvm
 
KUSANAGIユーザグループ東京 第1回勉強会 資料
KUSANAGIユーザグループ東京 第1回勉強会 資料KUSANAGIユーザグループ東京 第1回勉強会 資料
KUSANAGIユーザグループ東京 第1回勉強会 資料
 
ヤフーを支えるフラッシュストレージ
ヤフーを支えるフラッシュストレージヤフーを支えるフラッシュストレージ
ヤフーを支えるフラッシュストレージ
 
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
 
分割と整合性と戦う
分割と整合性と戦う分割と整合性と戦う
分割と整合性と戦う
 
Server specのご紹介
Server specのご紹介Server specのご紹介
Server specのご紹介
 
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LTGazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
 
CROSS 2016 LT - 我々のIoTデバイスがこんなに多いはずが無い
CROSS 2016 LT - 我々のIoTデバイスがこんなに多いはずが無いCROSS 2016 LT - 我々のIoTデバイスがこんなに多いはずが無い
CROSS 2016 LT - 我々のIoTデバイスがこんなに多いはずが無い
 
【MySQL編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
【MySQL編】サーバ環境が進化する今話題のPCIe SSDを評価してみた【MySQL編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
【MySQL編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
 
負荷がたかいいんだから~♪(仮)
負荷がたかいいんだから~♪(仮)負荷がたかいいんだから~♪(仮)
負荷がたかいいんだから~♪(仮)
 
【Oracle ORION編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
【Oracle ORION編】サーバ環境が進化する今話題のPCIe SSDを評価してみた【Oracle ORION編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
【Oracle ORION編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
 
Casper js エスキュービズム勉強会0718
Casper js エスキュービズム勉強会0718Casper js エスキュービズム勉強会0718
Casper js エスキュービズム勉強会0718
 
2人でOpenStackを開発環境に導入した話
2人でOpenStackを開発環境に導入した話2人でOpenStackを開発環境に導入した話
2人でOpenStackを開発環境に導入した話
 
【IOPS編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
【IOPS編】サーバ環境が進化する今話題のPCIe SSDを評価してみた【IOPS編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
【IOPS編】サーバ環境が進化する今話題のPCIe SSDを評価してみた
 
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LTMackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LT
 
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
 
Performance and Scalability of Web Service
Performance and Scalability of Web ServicePerformance and Scalability of Web Service
Performance and Scalability of Web Service
 
EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料
EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料
EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料
 
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
自宅ラック勉強会 2.2 夏のZabbix特別教室 ~構築編~
 
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
 

Similaire à CircleCIコミュニティミートアップLT資料

545人のインフラを支えたNOCチーム!
545人のインフラを支えたNOCチーム!545人のインフラを支えたNOCチーム!
545人のインフラを支えたNOCチーム!Masayuki Kobayashi
 
20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaokabeyond Co., Ltd.
 
Hyper-V の本格採用に必要なエンタープライズ設計術
Hyper-V の本格採用に必要なエンタープライズ設計術Hyper-V の本格採用に必要なエンタープライズ設計術
Hyper-V の本格採用に必要なエンタープライズ設計術Daichi Ogawa
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDockerMasashi Shinbara
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】DeNA
 
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1Y Watanabe
 
Eureka go 2015_12_12
Eureka go 2015_12_12Eureka go 2015_12_12
Eureka go 2015_12_12matsuo kenji
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツールtamtam180
 
EC-CUBE東京ユーザグループ 皆様にご挨拶をかねて
EC-CUBE東京ユーザグループ 皆様にご挨拶をかねてEC-CUBE東京ユーザグループ 皆様にご挨拶をかねて
EC-CUBE東京ユーザグループ 皆様にご挨拶をかねてTao Sasaki
 
Klocwork C/C++解析チューニング 概要
Klocwork C/C++解析チューニング 概要Klocwork C/C++解析チューニング 概要
Klocwork C/C++解析チューニング 概要Masaru Horioka
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
次世代仮想化テクノロジー
次世代仮想化テクノロジー次世代仮想化テクノロジー
次世代仮想化テクノロジーSyuichi Murashima
 
次世代仮想化テクノロジー
次世代仮想化テクノロジー次世代仮想化テクノロジー
次世代仮想化テクノロジーSyuichi Murashima
 
GCP vs 他社クラウド
GCP vs 他社クラウドGCP vs 他社クラウド
GCP vs 他社クラウドHasegawa Yusuke
 
(続) はじめてのCloud Foundry
(続) はじめてのCloud Foundry(続) はじめてのCloud Foundry
(続) はじめてのCloud FoundryTomohiro Ichimura
 
入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalkBIGLOBE Tech Talk
 
静的サイトどこにする?
静的サイトどこにする?静的サイトどこにする?
静的サイトどこにする?ogawatti
 

Similaire à CircleCIコミュニティミートアップLT資料 (20)

545人のインフラを支えたNOCチーム!
545人のインフラを支えたNOCチーム!545人のインフラを支えたNOCチーム!
545人のインフラを支えたNOCチーム!
 
130412 kayac-cinnamon
130412 kayac-cinnamon130412 kayac-cinnamon
130412 kayac-cinnamon
 
20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka20191120 beyondstudy#21 kitaoka
20191120 beyondstudy#21 kitaoka
 
Hyper-V の本格採用に必要なエンタープライズ設計術
Hyper-V の本格採用に必要なエンタープライズ設計術Hyper-V の本格採用に必要なエンタープライズ設計術
Hyper-V の本格採用に必要なエンタープライズ設計術
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
 
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
SHOWROOMとDeNAで取り組んだライブ配信基盤刷新・超低遅延ライブ配信の裏側【DeNA TechCon 2020 ライブ配信】
 
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
 
Eureka go 2015_12_12
Eureka go 2015_12_12Eureka go 2015_12_12
Eureka go 2015_12_12
 
動画共有ツール
動画共有ツール動画共有ツール
動画共有ツール
 
EC-CUBE東京ユーザグループ 皆様にご挨拶をかねて
EC-CUBE東京ユーザグループ 皆様にご挨拶をかねてEC-CUBE東京ユーザグループ 皆様にご挨拶をかねて
EC-CUBE東京ユーザグループ 皆様にご挨拶をかねて
 
Klocwork C/C++解析チューニング 概要
Klocwork C/C++解析チューニング 概要Klocwork C/C++解析チューニング 概要
Klocwork C/C++解析チューニング 概要
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
次世代仮想化テクノロジー
次世代仮想化テクノロジー次世代仮想化テクノロジー
次世代仮想化テクノロジー
 
次世代仮想化テクノロジー
次世代仮想化テクノロジー次世代仮想化テクノロジー
次世代仮想化テクノロジー
 
GCP vs 他社クラウド
GCP vs 他社クラウドGCP vs 他社クラウド
GCP vs 他社クラウド
 
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
[dbts-2014-tokyo] 目指せExadata!! Oracle DB高速化を目指した構成
 
(続) はじめてのCloud Foundry
(続) はじめてのCloud Foundry(続) はじめてのCloud Foundry
(続) はじめてのCloud Foundry
 
入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk入門 Chef Server #biglobetechtalk
入門 Chef Server #biglobetechtalk
 
静的サイトどこにする?
静的サイトどこにする?静的サイトどこにする?
静的サイトどこにする?
 
Info talk #36
Info talk #36Info talk #36
Info talk #36
 

CircleCIコミュニティミートアップLT資料