You've already forked woodpecker
mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-11-29 21:48:14 +02:00
Add ports into pipeline backend step model (#2656)
Closes #2655. [Pipeline](https://woodpecker-ci.org/docs/next/usage/services#complete-pipeline-example): ```yaml services: database: image: mysql environment: - MYSQL_DATABASE=test - MYSQL_ROOT_PASSWORD=example ports: - 3306 steps: get-version: image: ubuntu commands: - ( apt update && apt dist-upgrade -y && apt install -y mysql-client 2>&1 )> /dev/null - sleep 60s # need to wait for mysql-server init - echo 'SHOW VARIABLES LIKE "version"' | mysql -uroot -hdatabase test -pexample ``` Service: ```yaml apiVersion: v1 kind: Service metadata: name: wp-01hdq6gbkw1mn6k1655fs3rntf-0-services-0 namespace: woodpecker-runtime ... selfLink: >- /api/v1/namespaces/woodpecker-runtime/services/wp-01hdq6gbkw1mn6k1655fs3rntf-0-services-0 status: loadBalancer: {} spec: ports: - protocol: TCP port: 3306 targetPort: 3306 selector: step: database clusterIP: 10.43.180.120 clusterIPs: - 10.43.180.120 type: ClusterIP sessionAffinity: None ipFamilies: - IPv4 ipFamilyPolicy: SingleStack internalTrafficPolicy: Cluster ```
This commit is contained in:
@@ -15,24 +15,17 @@
|
||||
package kubernetes
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
v1 "k8s.io/api/core/v1"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/intstr"
|
||||
)
|
||||
|
||||
func Service(namespace, name, podName string, ports []string) (*v1.Service, error) {
|
||||
func Service(namespace, name, podName string, ports []uint16) (*v1.Service, error) {
|
||||
var svcPorts []v1.ServicePort
|
||||
for _, p := range ports {
|
||||
i, err := strconv.Atoi(p)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Could not parse service port %s as integer", p)
|
||||
}
|
||||
for _, port := range ports {
|
||||
svcPorts = append(svcPorts, v1.ServicePort{
|
||||
Port: int32(i),
|
||||
TargetPort: intstr.IntOrString{IntVal: int32(i)},
|
||||
Port: int32(port),
|
||||
TargetPort: intstr.IntOrString{IntVal: int32(port)},
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user