const fs = require('fs'); const jwt = require('jsonwebtoken'); // 从 Jenkins 环境变量获取 const API_KEY = process.env.API_KEY; const API_ISSUER = process.env.API_ISSUER; const P8_FILE = process.env.P8_FILE; // 读取 p8 私钥 const privateKey = fs.readFileSync(P8_FILE, 'utf8'); // 生成 JWT(苹果标准格式) const token = jwt.sign( { iss: API_ISSUER, exp: Math.floor(Date.now() / 1000) + 1200, // 20分钟 aud: 'appstoreconnect-v1' }, privateKey, { algorithm: 'ES256', header: { kid: API_KEY, alg: 'ES256' } } ); // 输出 JWT(Jenkins 会捕获这个值) console.log(token);