
- TOP
- ã¿ã°äžèЧ
- Node.js
Node.js
ã€ãã³ã
該åœããã³ã³ãã³ããèŠã€ãããŸããã§ãã
ãã¬ãžã³
æè¡ããã°
ã¯ããã« ããã«ã¡ã¯ãã¯ã©ãŠããšãŒã¹æ ªåŒäŒç€Ÿ 第äžéçºéšã®åæã§ãã Google Cloud ã®ã¢ãŒããã¯ãã£èšèšã§ã¯ draw.io ã§æ§æå³ãæžãããšãå€ãã§ãããã³ã³ããŒãã³ãã®é
眮ãç¢å°ã®èª¿æŽã«æãã®ã»ãæéãããããŸãã ããã§ãdraw.io ã® MCP ãµãŒããŒã Cursor ã«æ¥ç¶ããããã³ããã ãã§æ§æå³ãçæã§ããã詊ããŠã¿ãŸããã draw.io ãš MCP ã«ã€ã㊠draw.io ãšã¯ draw.io ã¯ãããŒãã£ãŒãããããã¯ãŒã¯å³ãªã©ãããŸããŸãªå³ãäœæã§ãã Web ããŒã¹ã®äœå³ããŒã«ã§ãããŠãŒã¶ãŒç»é²äžèŠã§å©çšã§ãããã¹ã¯ãããã¢ããªçã
re:Invent 2025 ã«ãããŠãAWS ã® Vice President of Databases ã§ãã Colin Lazier ã¯ãã¢ã€ãã¢ã®ã¹ããŒãã§æ§ç¯ããããšã®éèŠæ§ã匷調ããŸãããããã¯ãã³ã³ã»ãããã皌åäžã®ã¢ããªã±ãŒã·ã§ã³ãŸã§ã®éã®ããè¿
éã«é²ããããšãå¯èœã«ãããã®ã§ããã客æ§ã¯æ¢ã«ãæ¬çªå¯Ÿå¿ã® Amazon DynamoDB ããŒãã«ãš Amazon Aurora DSQL ããŒã¿ããŒã¹ãæ°ç§ã§äœæã§ããŸããColin ã¯ãåãã¹ããŒãã§ Amazon Aurora ãµãŒããŒã¬ã¹ ããŒã¿ããŒã¹ãäœæã§ããããšã äºåå
¬é ãããã®åŸãã客æ§ãããã®æ©èœãžã®è¿
éãªã¢ã¯ã»ã¹ãšã¹ããŒããæ±ãã声ãå¯ããããŸããã 2025 幎 3 æ 25 æ¥ãAmazon Aurora PostgreSQL åãã®æ°ãããšã¯ã¹ãã¬ã¹èšå®ã®äžè¬æäŸã®éå§ããç¥ããããŸããããã¯ãæ°ç§ã§äœ¿çšãéå§ããã®ã«åœ¹ç«ã€ããèšèšãããäºåèšå®æžã¿ã®ããã©ã«ãèšå®ãåãããåçåãããããŒã¿ããŒã¹äœæãšã¯ã¹ããªãšã³ã¹ã§ãã ããã 2 åã¯ãªãã¯ããã ãã§ãAurora PostgreSQL ãµãŒããŒã¬ã¹ããŒã¿ããŒã¹ã䜿çšããæºåãæ°ç§ã§æŽããŸããæ°ããèšå®ã§ã¯ãããŒã¿ããŒã¹ã®äœæäžããã³äœæåŸã«ãç¹å®ã®èšå®ãæè»ã«å€æŽã§ããŸããäŸãã°ãäœææã«ãµãŒããŒã¬ã¹ã€ã³ã¹ã¿ã³ã¹ã®ãã£ãã·ãã£ç¯å²ã倿ŽãããããªãŒãã¬ããªã«ã远å ããããããŒã¿ããŒã¹ãäœæãããåŸã«ãã©ã¡ãŒã¿ã°ã«ãŒãã倿Žãããã§ããŸãã ãšã¯ã¹ãã¬ã¹èšå®ãåãã Aurora ã¯ã©ã¹ã¿ãŒã¯ã Amazon Virtual Private Cloud (Amazon VPC) ãããã¯ãŒã¯ãªãã§äœæããããæ°ã«å
¥ãã®éçºããŒã«ããã®ã»ãã¥ã¢ãªæ¥ç¶ã®ããã®ã€ã³ã¿ãŒãããã¢ã¯ã»ã¹ã²ãŒããŠã§ã€ãå«ã¿ãŸããVPN ã AWS Direct Connect ã¯äžèŠã§ãããŸãããšã¯ã¹ãã¬ã¹èšå®ã§ã¯ã管çè
ãŠãŒã¶ãŒã®ããã« AWS Identity and Access Management (IAM) èªèšŒãããã©ã«ãã§ã»ããã¢ãããããããã远å èšå®ãªãã§æåãããã¹ã¯ãŒãã¬ã¹ããŒã¿ããŒã¹èªèšŒãæå¹ã«ãªããŸãã äœæåŸãé«å¯çšæ§ãèªåãã§ã€ã«ãªãŒããŒæ©èœã®ããã®è¿œå ã®ãªãŒãã¬ããªã«ã®ãããã€ãªã©ãAurora PostgreSQL ãµãŒããŒã¬ã¹ã§äœ¿çšå¯èœãªæ©èœã«ã¢ã¯ã»ã¹ã§ããŸããä»åã®ãªãªãŒã¹ã§ã¯ãAurora åãã®æ°ããã€ã³ã¿ãŒãããã¢ã¯ã»ã¹ã²ãŒããŠã§ã€ã«ãŒãã£ã³ã°ã¬ã€ã€ãŒãå°å
¥ãããŸãããæ°ãããµãŒããŒã¬ã¹ã€ã³ã¹ã¿ã³ã¹ã§ã¯ããã®æ©èœã¯ããã©ã«ãã§æå¹ã«ãªã£ãŠããŸããããã«ãããå¹
åºãéçºããŒã«ãã PostgreSQL ã¯ã€ã€ãããã³ã«ã䜿çšããŠãäžçäžã®ã©ãããã§ããã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¿ãŒãããçµç±ã§ã»ãã¥ã¢ã«æ¥ç¶ã§ããŸãããã®ã²ãŒããŠã§ã€ã¯è€æ°ã®ã¢ãã€ã©ããªãã£ãŸãŒã³ã«åæ£ãããŠãããAurora ã¯ã©ã¹ã¿ãŒãšåçã®é«å¯çšæ§ãæäŸããŸãã Aurora ã®äœæãšæ¥ç¶ãæ°ç§ã§å®äºãããšããããšã¯ãAurora ã®å©çšãéå§ããæ¹æ³ã¯æ ¹æ¬çã«å€ãããŸããåŒç€Ÿã¯ãAurora ãå©çšããã¢ããªã±ãŒã·ã§ã³ã®ãªã³ããŒãã£ã³ã°ãšå®è¡ããµããŒãããããã«ã飿ºããŠåäœããè€æ°ã®æ©èœããªãªãŒã¹ããŸãããAurora 㯠AWS ç¡æå©çšæ ã§çŸåšå©çšå¯èœã§ããããã«ãããåæè²»çšãªãã§ Aurora ãå®éã«äœéšã§ããŸããäœæåŸã AWS CloudShell ã§ Aurora ããŒã¿ããŒã¹ãçŽæ¥ã¯ãšãªããããAurora çšã®æ°ããã€ã³ã¿ãŒãããã¢ã¯ã»ã¹å¯èœãªã«ãŒãã£ã³ã°ã³ã³ããŒãã³ããä»ããŠããã°ã©ãã³ã°èšèªãããããããŒããŒã«ã䜿çšãããã§ããŸãã Vercel ã® v0 ãªã©ã®çµ±åã«ãããèªç¶èšèªã䜿çšããŠãAurora ã®æ©èœãšã¡ãªãããæŽ»çšããã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ãéå§ã§ããŸãã Aurora PostgreSQL ãµãŒããŒã¬ã¹ããŒã¿ããŒã¹ãæ°ç§ã§äœæ å©çšãéå§ããã«ã¯ã Aurora ããã³ RDS ã³ã³ãœãŒã« ã«ã¢ã¯ã»ã¹ããããã²ãŒã·ã§ã³ãã€ã³ã§ [ããã·ã¥ããŒã] ãéžæããŸãããã®åŸããã±ããã¢ã€ã³ã³ã®ä»ãã [äœæ] ãéžæããŸãã [ãšã¯ã¹ãã¬ã¹èšå®ã§äœæ] ãã€ã¢ãã°ããã¯ã¹ã§ãäºåæ§ææžã¿ã®èšå®ã確èªããŸããå¿
èŠã«å¿ããŠãDB ã¯ã©ã¹ã¿ãŒèå¥åãŸãã¯ãã£ãã·ãã£ç¯å²ã倿Žã§ããŸãã [ããŒã¿ããŒã¹ãäœæ] ãéžæããŸãã ãŸãããã©ã¡ãŒã¿ --express-configuration ãèšå®ã㊠AWS ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ã€ã¹ (AWS CLI) ãŸã㯠AWS SDK ã䜿çšããããšã§ãåäžã® API ã³ãŒã«ã§ã¯ã©ã¹ã¿ãŒãšã¯ã©ã¹ã¿ãŒå
ã®ã€ã³ã¹ã¿ã³ã¹ã®äž¡æ¹ãäœæã§ããŸããããã«ãããæ°ç§ã§ã¯ãšãªãå®è¡ã§ããç¶æ
ã«ãªããŸãã詳现ã«ã€ããŠã¯ãã Creating an Aurora PostgreSQL DB cluster with express configuration ãã«ã¢ã¯ã»ã¹ããŠãã ããã ã¯ã©ã¹ã¿ãŒãäœæããããã® CLI ã³ãã³ããæ¬¡ã«ç€ºããŸã: $ aws rds create-db-cluster --db-cluster-identifier channy-express-db \ --engine aurora-postgresql \ âwith-express-configuration Aurora PostgreSQL ãµãŒããŒã¬ã¹ããŒã¿ããŒã¹ã¯æ°ç§ã§æºåå®äºãšãªããŸããäœæãå®äºãããšæåãããŒã衚瀺ãããããŒã¿ããŒã¹ã®ã¹ããŒã¿ã¹ã [䜿çšå¯èœ] ã«å€ãããŸãã ããŒã¿ããŒã¹ã®æºåãå®äºãããã [æ¥ç¶ãšã»ãã¥ãªãã£] ã¿ãã«ç§»åããŠã3 ã€ã®æ¥ç¶ãªãã·ã§ã³ã«ã¢ã¯ã»ã¹ããŸããSDKãAPIããŸãã¯ãšãŒãžã§ã³ããªã©ã®ãµãŒãããŒãã£ãŒããŒã«çµç±ã§æ¥ç¶ããå Žåã¯ã [ã³ãŒãã¹ãããã] ãéžæããŸãã.NETãGolangãJDBCãNode.jsãPHPãPSQLãPythonãTypeScript ãªã©ãããŸããŸãªããã°ã©ãã³ã°èšèªãéžæã§ããŸããåã¹ãããã®ã³ãŒããããŒã«ã«è²Œãä»ããŠã³ãã³ããå®è¡ã§ããŸãã äŸãã°ã次㮠Python ã³ãŒãã¯èªèšŒèšå®ãåæ ããããã«åçã«çæãããŸã: import psycopg2 import boto3 auth_token = boto3.client('rds', region_name='ap-south-1').generate_db_auth_token(DBHostname='channy-express-db-instance-1.abcdef.ap-south-1.rds.amazonaws.com', Port=5432, DBUsername='postgres', Region='ap-south-1') conn = None try: conn = psycopg2.connect( host='channy-express-db-instance-1.abcdef.ap-south-1.rds.amazonaws.com', port=5432, database='postgres', user='postgres', password=auth_token, sslmode='require' ) cur = conn.cursor() cur.execute('SELECT version();') print(cur.fetchone()[0]) cur.close() except Exception as e: print(f"Database error: {e}") raise finally: if conn: conn.close() const { Client } = require('pg'); const AWS = require('aws-sdk'); AWS.config.update({ region: 'ap-south-1' }); async function main() { let password = ''; const signer = new AWS.RDS.Signer({ region: 'ap-south-1', hostname: 'channy-express-db-instance-1.abcdef.ap-south-1.rds.amazonaws.com', port: 5432, username: 'postgres' }); password = signer.getAuthToken({}); const client = new Client({ host: 'channy-express-db-instance-1.abcdef.ap-south-1.rds.amazonaws.com', port: 5432, database: 'postgres', user: 'postgres', password, ssl: { rejectUnauthorized: false } }); try { await client.connect(); const res = await client.query('SELECT version()'); console.log(res.rows[0].version); } catch (error) { console.error('Database error:', error); throw error; } finally { await client.end(); } } main().catch(console.error); ã³ã³ãœãŒã«ããçŽæ¥èµ·åãã AWS CLI ã«è¿
éã«ã¢ã¯ã»ã¹ããã«ã¯ã [CloudShell] ãéžæããŸãã[ CloudShell ãèµ·å] ãéžæãããšãç¹å®ã®ã¯ã©ã¹ã¿ãŒã«æ¥ç¶ããããã®é¢é£æ
å ±ãã³ãã³ãã«äºåã«å
¥åãããŠããããšã確èªã§ããŸããã·ã§ã«ã«æ¥ç¶ãããšãSQL ã³ãã³ããå®è¡ããããã® psql login ãš postgres => prompt ã衚瀺ãããŸãã pgAdmin ãªã©ããŠãŒã¶ãŒåãšãã¹ã¯ãŒãã®èªèšŒæ
å ±ã®ã¿ããµããŒãããããŒã«ã䜿çšããå Žåã¯ã [ãšã³ããã€ã³ã] ãéžæããããšãã§ããŸãã [ããŒã¯ã³ãååŸ] ãéžæãããšããŠãŒãã£ãªãã£ã«ãã£ãŠçæããã AWS Identity and Access Management (IAM) èªèšŒããŒã¯ã³ããã¹ã¯ãŒããã£ãŒã«ãã«äœ¿çšãããŸãããã®ããŒã¯ã³ã¯ãããŒã¿ããŒã¹ã®äœææã«ã»ããã¢ãããããã¹ã¿ãŒãŠãŒã¶ãŒåã«ã€ããŠçæãããŸããããŒã¯ã³ã¯ 1 åã«ã€ã 15 åéæå¹ã§ãã䜿çšããŠããããŒã«ãæ¥ç¶ãçµäºããå ŽåãããŒã¯ã³ãåçæããå¿
èŠããããŸãã Aurora ããŒã¿ããŒã¹ãå©çšããŠã¢ããªã±ãŒã·ã§ã³ãããè¿
éã«æ§ç¯ re:Invent 2025 ã§ã¯ã AWS ç¡æå©çšæ ããã°ã©ã ã®åŒ·åãçºè¡šã ãAWS ãµãŒãã¹å
šäœã§äœ¿çšã§ããæå€§ 200 USD çžåœã® AWS ã¯ã¬ãžãããæäŸããŸããããµã€ã³ã¢ããæã« 100 USD çžåœã® AWS ã¯ã¬ãžãããä»äžãããAmazon Relational Database Service (Amazon RDS)ãAWS LambdaãAmazon Bedrock ãªã©ã®ãµãŒãã¹ãå©çšããããšã§ãããã« 100 USD çžåœã®ã¯ã¬ãžãããç²åŸã§ããŸããããã«ãAmazon Aurora ã¯ã察象ãšãªãäžé£ã®å¹
åºã ç¡æå©çšæ ããŒã¿ããŒã¹ãµãŒãã¹ ã§ãå©çšããã ããããã«ãªããŸããã ããããããŒã¯ãèªç¶èšèªã ãã§æ¬çªå¯Ÿå¿ã®ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ãã Vercel ãªã©ã®ãã©ãããã©ãŒã ãæ¡çšããŠããŸããåŒç€Ÿã¯ã Vercel Marketplace ãšã®çµ±åãçºè¡šããŸãã ãããã«ãããVercel ãã AWS ããŒã¿ããŒã¹ãæ°ç§ã§çŽæ¥äœæããŠæ¥ç¶ã§ããããã«ãªããŸãããŸããAI ãå©çšããããŒã«ã§ãã Vercel ã® v0 ãšã®çµ±åãçºè¡šããŸãããv0 ã¯ãæ°åã§ã¢ã€ãã¢ãæ¬çªå¯Ÿå¿ã®ãã«ã¹ã¿ãã¯ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã«å€æããŸããããã«ã¯ãAurora PostgreSQLãAurora DSQLãDynamoDB ããŒã¿ããŒã¹ãå«ãŸããŠããŸãããŸããVercel ãå©çšããŠãšã¯ã¹ãã¬ã¹èšå®ãéããŠäœæããæ¢åã®ããŒã¿ããŒã¹ãæ¥ç¶ã§ããŸãã詳现ã«ã€ããŠã¯ãã AWS for Vercel ãã«ã¢ã¯ã»ã¹ããŠãã ããã Vercel ãšåæ§ã«ãåœç€Ÿã¯ããŒã¿ããŒã¹ããããã®ãšã¯ã¹ããªãšã³ã¹ãšã·ãŒã ã¬ã¹ã«çµ±åããåºãæ®åããŠãããã¬ãŒã ã¯ãŒã¯ãAI ã¢ã·ã¹ã¿ã³ãã³ãŒãã£ã³ã°ããŒã«ãç°å¢ãããããããŒããŒã«ãšçŽæ¥çµ±åããŠãã¢ã€ãã¢ã®ã¹ããŒãã§éçºãé²ããããšãå¯èœã«ããŠããŸãã ããã«ã Kiro powers ãšã® Aurora PostgreSQL çµ±å ãå°å
¥ããŸãããããããããŒã¯ãããå©çšããŠã Kiro ãéãã AI ãšãŒãžã§ã³ãæ¯æŽéçºã掻çšããããšã§ãAurora PostgreSQL ãå©çšããã¢ããªã±ãŒã·ã§ã³ãããè¿
éã«æ§ç¯ã§ããŸããAurora PostgreSQL åãã® Kiro power ã¯ã Kiro IDE å
ã§ããŸã㯠Kiro powers ã®ãŠã§ãããŒãž ãããã¯ã³ã¯ãªãã¯ã§ã€ã³ã¹ããŒã«ããŠäœ¿çšã§ããŸãããã® Kiro Power ã®è©³çްã«ã€ããŠã¯ãã Introducing Amazon Aurora powers for Kiro ãããã³ã Amazon Aurora Postgres MCP Server ãããèªã¿ãã ããã ä»ãããå©çšããã ããŸã Aurora PostgreSQL ãµãŒããŒã¬ã¹ããŒã¿ããŒã¹ã¯ããã¹ãŠã® AWS åçšãªãŒãžã§ã³ã§æ°ç§ã§ä»ããäœæã§ããŸãããªãŒãžã§ã³ããšã®å©çšå¯åŠãšä»åŸã®ããŒããããã«ã€ããŠã¯ãã AWS Capabilities by Region ãã«ã¢ã¯ã»ã¹ããŠãã ããã ãæ¯æãããã ãã®ã¯ãAurora Capacity Units (ACU) ã«åºã¥ããŠæ¶è²»ãããã£ãã·ãã£ã«ã€ããŠã®æéã®ã¿ã§ããããã£ãã·ãã£ããŒãã®ç¶æ
ããç§åäœã§èª²éãããŸããã¢ããªã±ãŒã·ã§ã³ã®ããŒãºã«åºã¥ããŠããã£ãã·ãã£ãèªåçã«èµ·åãã·ã£ããããŠã³ãã¹ã±ãŒã«ã¢ãããã¹ã±ãŒã«ããŠã³ãããŸãã詳现ã«ã€ããŠã¯ã Amazon Aurora ã®æéããŒãž ã«ã¢ã¯ã»ã¹ããŠãã ããã Aurora ããã³ RDS ã³ã³ãœãŒã« ã§ã詊ãããã ãã AWS re:Post for Aurora PostgreSQL ã«ããŸãã¯éåžžã® AWS ãµããŒãæ
åœè
ãéããŠããã£ãŒãããã¯ããå¯ããã ããã â Channy åæã¯ ãã¡ã ã§ãã
ã¯ããã« ããã«ã¡ã¯ããã®èšäºã¯ãããã£ã®åéãšmoriã§ãããã®èšäºã¯å
±åå·çãããã®ã«ãªããŸãã ããŒã ã§éçºãããŠãããšãpython,node.jsçã®å®è¡ç°å¢ãlinter,formatterçåšèŸºããŒã«ã®ããŒãžã§ã³ãæãããããšããå Žé¢ã¯å€ããšæããŸãã ããã§ãŸãæãã€ãã®ãdevcontainerã§ãããã±ãŒã¹ãã€ã±ãŒã¹ã§ãªãŒããŒãšã³ãžãã¢ãªã³ã°ã«ãªããã¡ã ãšæã£ãŠããŸãã ããããã®ã¯ãããŒã«ã®ããŒãžã§ã³ãæãããã ããªã®ã«ãã³ã³ããäžžããšçšæããã®ã¯éãããŸãã Dockerfileãdevcontainer.jsonã®æ§ç¯ã»ã¡ã³ããã³ã¹ã³ã¹ããããã CI/CDã§åãããŒã«ããŒãžã§ã³ã䜿ããããšãªããšãGitHub ActionsåŽã§ãã³ã³ãããã«ããå¿
èŠã«ãªã£ãŠããã«è€éå ããŒã«è¿œå ã®ãã³ã«ãã«ããçŽã ãããã®åé¡ã¯ã mise ã䜿ãã°ãã£ãšã·ã³ãã«ã«è§£æ±ºã§ããŸãã miseã®åŒ·ã¿ mise ã¯ããŒã«ãã§ã€ã³ç®¡çãç°å¢å€æ°ç®¡çãã¿ã¹ã¯ã©ã³ããŒãªã©æ§ã
ãªæ©èœãæã€ããŒã«ã§ãã 以åã¯RTXãšããæ€çŽ¢æ§ã®æªãååã§ãããããã€ã®éã«ãæ¹åãããŠããŸããã mise.tomlãšãããã¡ã€ã«1ã€ã§å
šéšç®¡çã§ããŸãã ããŒã«ã«/CIã§åãããŒãžã§ã³ mise.tomlããªããžããªã«ã³ãããããŠããã°ãããŒã«ã«ã§ãGitHub Actionsã§ãåãããŒã«ããŒãžã§ã³ã䜿ããŸãã CIåŽã§ã¯ jdx/mise-action ã䜿ãã ãã§ããã³ã³ãããã«ãã¯èŠããŸããã Terraformã®CIã¯äŸãã°ãããªæãã§æžããŸãã # terraform-ci.yml steps: - uses: actions/checkout@v4 - uses: jdx/mise-action@v2 with: working_directory: terraform - run: mise check working-directory: terraform mise.tomlã«ããŒã«ãã¿ã¹ã¯ãå®çŸ©ããŠããã®ã§ãCIåŽã¯miseãå
¥ã㊠mise check ããã ãã§ãã devcontainerã ãšCIçšã®Dockerfileãå¥éçšæããããã³ã³ããã¬ãžã¹ããªã®ç®¡çãå¿
èŠã«ãªããŸãããmiseãªãtomlãã¡ã€ã«1ã€ã§å®çµããŸãã ã³ã³ããäžèŠã§æ§ç¯ã³ã¹ããäœã devcontainerã¯ååãã«ããåãã«ããåŸ
ã¡æéãçºçããŸãã mise㯠mise install ã§å¿
èŠãªããŒã«ãçŽæ¥ã€ã³ã¹ããŒã«ããã ããªã®ã§ããªãŒããŒããããå°ããã§ãã æ°ã¡ã³ããŒãå
¥ã£ãŠãããšãã mise install ã ãã§ç°å¢ãæãã®ã§ããªã³ããŒãã£ã³ã°ã³ã¹ããäœããªããŸãã ããããã¯ãmiseã®åæ©èœã玹ä»ããããšãå®éã«åŒç€Ÿã§ã©ã®ããã«æŽ»çšããŠãããã説æããŸãã Renovateã§ããŒãžã§ã³ã¢ãããèªåå Renovateã¯ãªããžããªå
ã®äŸåé¢ä¿ãèªåæ€ç¥ããããŒãžã§ã³ã¢ããã®PRãèªåã§äœæããŠãããããŒã«ã§ããmiseã®mise managerã«ã察å¿ããŠãããmise.tomlå
ã®ããŒã«ããŒãžã§ã³ãèªåã§æ€ç¥ããŠPRãäœã£ãŠãããŸãã åè¿°ã®éããmise.tomlã¯ããŒã«ã«ãšCIã®äž¡æ¹ã§åç
§ããããã¡ã€ã«ã§ããã€ãŸããRenovateãmise.tomlã®ããŒãžã§ã³ãæŽæ°ããã ãã§ãããŒã«ã«ç°å¢ãšCIã®ããŒã«ããŒãžã§ã³ãåæã«æŽæ°ãããŸãã åŒç€Ÿã§ã¯Terraformã ãã€ã³ãã©ãžã®åœ±é¿ã倧ããã®ã§åå¥PRã«ãããã以å€ã®ããŒã«ïŒtflint, trivy, gh cliçïŒã¯ãŸãšããŠæŽæ°ããèšå®ã«ããŠããŸãã devcontainerã ãšDockerfileå
ã®ããŒãžã§ã³æžãæãâã€ã¡ãŒãžãªãã«ããšãããããŒãå¿
èŠã§ãããmiseãªãtomlã®ããŒãžã§ã³æååãæžãæããã ãã§ããã·ã³ãã«ã§ãã miseã®äž»ãªæ©èœã«ã€ã㊠ããŒã«ç®¡ç æ§ã
ãªããã¯ãšã³ãã«å¯Ÿå¿ããŠãããäžéãã®ããŒã«ãããŒãžã§ã³æå®ä»ãã§ã€ã³ã¹ããŒã«ã§ããŸãã asdf aqua pipx npm cargo # npmããã¯ãšã³ãã䜿çšãã claude codeã®ã€ã³ã¹ããŒã« mise use -g npm:@anthropic-ai/claude-code # pipxããã¯ãšã³ãã䜿çšãã serenaã®ã€ã³ã¹ããŒã« mise use pipx:git+https://github.com/oraios/serena.git@v0.1.4 # çŽæ¥æã«å
¥ãç³»ïŒnvim, btop, uvãªã©ããããŸãïŒ mise use uv # ããŒã«ã®ã¢ããããŒã mise upgrade ãã£ã¬ã¯ããªããšã®ããŒãžã§ã³åãæ¿ã ã·ã§ã«ã®èšå® ããããšããã£ã¬ã¯ããªããšã«ããŒã«ããŒãžã§ã³ãåãæ¿ããããŸããäžäœãã£ã¬ã¯ããªã®èšå®ã¯äžäœã«ãåŒãç¶ãããŸãã ~/hoge ⯠cat mise.toml [tools] uv = "latest" ~/hoge/fuga ⯠cat mise.toml [tools] uv = "0.8.1" ~/hoge/fuga ⯠uv --version uv 0.8.1 # fugaé
äžã§ã¯0.8.1ã䜿ããã ~/hoge/piyo ⯠uv --version uv 0.8.23 # piyoã§ã¯uvæªå®çŸ©ã ãã芪ã®hogeã®èšå®ãå¹ã ç°å¢å€æ°ç®¡ç ããŒã«äœ¿çšæãã¿ã¹ã¯å®è¡æã«äœ¿çšãããç°å¢å€æ°ãmise.tomlã«èšè¿°ããŠãããŸãã ãã£ã¬ã¯ããªäžã«ãããšéåžžã®ã·ã§ã«ã§ãåŒã³åºããŸãã [env] EDITOR = "code" mise.file = ".env" [tasks.hoge] env = { fuga = "piyo" } run = "echo $fuga" .envãèªã¿èŸŒãããšãã§ããã®ã§ãèªèšŒæ
å ±ãªã©ã¯ãã¡ãã«åé¢ããã®ãããããã§ãã ã¿ã¹ã¯ã©ã³ã㌠mise.tomlã«èšè¿°ããã¿ã¹ã¯ã mise run hoge ã§åŒã³åºããŸãã ã¿ã¹ã¯ãæå®ãã mise run ãããšTUIã§éžæã§ããŸããçµã蟌ã¿ãå¯èœã§ãã ããŒã«ãšåãããäžäœãã£ã¬ã¯ããªã®ã¿ã¹ã¯ãç¶æ¿ãããŸãã äžäŸãšããŠãç§ã管çããŠããã®Terraformãªããžããªã§ã¯ãfmt/lint/securityã®ãã§ãã¯ãå
šãŠmiseã¿ã¹ã¯ã§ç®¡çããŠããŸãã dir ã§å®è¡ãã£ã¬ã¯ããªãæå®ã§ããŸããDockerfileã®WORKDIRãšæŠãåãã§ãã # terraform/mise.toml [tasks."fmt:check"] description = "Check Terraform formatting" dir = "cwd" run = "terraform fmt -check -recursive ." [tasks."lint:init"] description = "Initialize tflint plugins" dir = "cwd" run = "tflint --init --config=$MISE_PROJECT_ROOT/.tflint.hcl" [tasks."lint:check"] description = "Run tflint" dir = "cwd" depends = ["lint:init"] run = "tflint --recursive --config=$MISE_PROJECT_ROOT/.tflint.hcl" [tasks."security:check"] description = "Run trivy security scan" dir = "cwd" run = "trivy config --config=$MISE_PROJECT_ROOT/trivy.yaml ." ãããã« ä»åã¯miseã䜿ã£ãéçºç°å¢ã®ããŒã«ç®¡çã«ã€ããŠç޹ä»ããŸãããåèã«ãªãã°å¹žãã§ãã

















